R
R
Rodion Baskakov2013-11-01 10:03:27
ruby
Rodion Baskakov, 2013-11-01 10:03:27

Switching from PHP to...?

Not for a "holy war" for the sake of, but only in order to collect opinions and learn something new.

I have been developing in PHP for many years. It is clear that there is a fairly large arsenal of their own developments, which allows them to quickly create various kinds of projects, but the soul asks for something else ... The project assumes authorization, integration with social networks. networks, working with noSQL, working with media, and so on. And ideally, it would be very cool if XSLT could be used as templates for the desired view type, because this is the best, IMHO, that can be used as a template engine. Help to choose an alternative PHP with reason. Or maybe I'm looking in the wrong direction at all, and I don't need from Ruby vs. Python to choose and see something else?

It is clear that there is a fairly large arsenal of their own developments, which allows you to quickly create various kinds of projects under this task to try something new. In theory, of the obvious, in my opinion, options for the “new”, the first to come to mind are Ruby (+ RoR?) and Python (+ Django?), which I read about and studied a little a long time ago. But what to choose and why?


Answer the question

In order to leave comments, you need to log in

16 answer(s)
M
Mithgol, 2013-11-01
@Mithgol

I join the recommendations to try Node.js, the argument in favor of which is the fact that when studying it, a web developer does not have to learn a new language at the same time: Node uses JavaScript, which already runs the client side of sites.
Thus, to switch to Node, it is enough to learn the Node API and learn how to choose the right ready-made open source modules developed by the community. Modules can be found by listing on the wiki or by keyword search on the npm site .
In particular, there are a lot of ready -made NoSQL modules there. (There are even NoSQL tools specifically designed for Node—notably NeDB .)

C
Casus, 2013-11-01
@Casus

Play2 Scala or Nodejs

O
OnYourLips, 2013-11-01
@OnYourLips

I'll ask the following question: what PHP frameworks do you know?
It suddenly turns out that you are only familiar with the basics of a couple, and then all the rails will advise you.

G
gro, 2013-11-02
@gro

Once again I see here the phrases “when learning Node.js, you don’t have to learn a new language at the same time”, “it’s better to do one thing”.
What the hell? You need to study everything, and python, and hack, and node, and Chinese for a heap. Just to understand that the paradigms you are using are not the only ones possible.
Even if after that you stay in PHP, it turns out that they started writing much better in it.
For example, after getting acquainted with OOP languages, I began to write an order of magnitude better in C, although it would seem that there are no syntactic constructions for this.
And when you figure it out yourself, then you can choose what to specialize in. Much better than that, this thread will help you.

S
Stdit, 2013-11-01
@Stdit

If you are tired of PHP and in general this approach (started-run-dead), you want something fresh and conceptually different, I would recommend Nodejs. It becomes especially interesting when using websockets via socket.io. I can’t say anything about xslt, I didn’t have such an experience, but there are corresponding libraries .

V
Vyacheslav Plisko, 2013-11-01
@AmdY

I had a similar experience, had a small project and time. The Klint part was decided to be done in angularjs. They wanted to make the server one on yii, poked around, tried the starting build, eventually spat and took nodejs + expressjs, figured it out faster than with yii, there were problems with some libs for working with ftp and excel, but there are no complaints about the web part.
The main plus is that I learned how to work with asynchronous code.
Recently, it was necessary to make changes to a part of the project on RoR, again, it was easy, but it took a little longer to master, because. ruby is not as familiar as javascript. But knowledge of the php laravel framework helped a lot.
I would advise you to start learning from the node, since there is a really new experience with an asynchronous approach, which will later help when developing in php.

A
Alexey Prokhorov, 2013-11-01
@megahertz

I won't say anything new, but why not just take a look at the examples on RoR and Django and choose what you like best?

S
SkiF_TLT, 2013-11-01
@SkiF_TLT

If “for the soul”, “for a change”, then I recommend not to dwell on one thing, but to try to implement several symbolic projects on everything proposed above, and then you can already draw some conclusions.
From experience, I’ll say that the transition from PHP to Python is quite simple and does not bring any special difficulties (unless, of course, your team does not have space lovers and tabulation lovers together, otherwise you are tormented to look for an error if there are spaces in one line and tabs in the other, but visually everything looks the same). But for the same reason, it may seem to you not so interesting, not so extravagant and “unlike PHP”. It all depends on your desires and expectations, here it is difficult to advise something specific.

V
vinograd19, 2013-11-01
@vinograd19

You just look at where web development is heading.
Previously, forms were validated by http requests, now they are some kind of jquery.validation on the client.
Previously, pages were refreshed via

setTimeout(function(){window.location.reload()}, N)
, now many have learned how to make head requests to api, and then add content.
In general, a lot is now connected with the restful api, because with the help of it many tasks are solved at once: from reducing traffic and separating the logic of the backend and frontend, to integrating with mobile applications.
This is me to the fact that the future is for js. If you have not yet begun to actively learn ruby ​​or python and you value time resources for learning, learn js.

D
Dmitry Zaitsev, 2013-11-02
@dim_s

If you want to raise your level of programming, start learning some statically typed language Scala, Java, C#

A
Anatoly, 2013-11-03
@taliban

I'm slowly watching golang for myself. Quite an interesting and unusual language =)

S
sitev_ru, 2015-06-26
@sitev_ru

I chose C++ for myself... Now I'm working on CMS-ku on it... Is it difficult? And who is easy now? ))

B
binary1101, 2013-11-04
@binary1101

I also recommend Ruby on Rails, great for quickly developing your own projects. But if you are looking for “for the soul”, and not a portfolio, then look at micro and just small frameworks: Sinatra, Padrino, etc.

D
Denis Ogurtsov, 2013-11-07
@DenisOgr

I came up with the idea of ​​a multi-user project “for the soul”, which I will do fairly quickly on my “bike”, but I would like to try something new for this task.

IMHO. Do you want to write a project for the soul on something new? So if you do not know what is closer to your soul, then no one else knows what you "like".
I, like you, thought about this, and the smartest thing I came up with was to try RoR (and pure ruby), and then, if there is a desire, then Django.
I've been learning railroads for a month. Impressions: interesting, even exciting. I see the cons of puff, but who doesn’t have them ...

B
beduin01, 2013-11-24
@beduin01

Look towards http://vibed.org/
much better than PHP and much more conceptual than Nodejs

W
Webfave, 2013-11-28
@Webfave

Python http://younglinux.info/sites/default/files/python_structured_programming.pdf

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question