Python vs Node in perspective

Python vs Node in perspective


Good evening,
I have a question to people who are specialized in back-end.
What language will be a good continuation after front-end for web developing?


Well, since you’ve been working with PHP recently, perhaps thinking about your experiences there is a good place to start.

If you are dissatisfied with PHP at the moment, what are the pain points for you?

If people know that, they can suggest what might be a good next step for you.

Objectively speaking, all the possible back-end languages have different pros and cons, so determining which one is right for you depends on your needs.


I agree with Jackson that they all have pluses and minuses.

I might suggest just continuing on with the FCC curriculum which works on the Node/Express/Mongo stack for the backend. It’s increasingly popular and is based on JavaScript.

But of course, if you have very specific needs there may be a better fit. But if not, I’d take advantage of this program and community.


As for me front-end is better because it is like ‘more for me’.
php/ sql - it’s fine, I can do stuff like this but I’m not sure I’m really satisfied with server part(maybe php is just not my language). But in other way, I also want to be able to do everything, not just the front but I really(as for now) don’t want to go deep inside back-end not to just give up because I really not very happy to go deep and deeper into this as for now.
I want language which will allow me to connect both(front and back) but to make this process as less painful as possible.I want too be able to create project on both parts by myself(do not speaking about some huge projects).

And the second part which is can be important is using in future that language for creating some other stuff not connected to web(but please read this aside from the first part, because if answering this question the answer will be - python).

  • JavaScript on the back-end means you’d be using the same language, which is very helpful as you can avoid the basic learn-the-syntax bit.
  • Beyond that, doesn’t make much difference. Decision should be based on what you want to do.
  • Python is much more mature, the language is a lot more fully featured.
  • Node is generally best at realtime stuff, applications that deal with a high volume of small messages with low latency. E-commerce transactions, livechat, instant messaging.
  • Node has an asynchronous model that will be familiar from frontend. It’s single threaded which makes things simple in a lot of cases.
  • Node is not very good for traditional web apps which need to render out HTML pages. CMSes are a good example. If you need that kind of functionality, use Python (or PHP or whatever); eg Django is great at that, and will automatically build you admin areas.
  • If you need to do anything even mildly computationally heavy (resize/modify images for example), Python is miles better, it has superb libraries for almost anything you’d need.


After the front end, learning Node / Express is a no-brainer. You can deepen your Javascript knowledge and learn a platform that is soaring in popularity.

But choosing a second back end language is like picking from among the six ugly sisters. Ruby and Python are scripting languages and probably fairly easy to pick up. But Ruby is fading in popularity and Python doesn’t have a huge presence as a web platform (its recent popularity seems to be more about the big data trend). You could pick something leftfield like Golang, which would be great fun until you need to get a job. Then there are the really big beasts, Java and C#/.NET. C# is more common in my market (UK), but in the US I believe Java is the main player. They are not going away any time soon. But in terms of complexity and the number of libraries you will need to learn to get useful, these two are pretty formidable. You are probably looking at a solid one to two years work to really get a good foundation. And the industry is full of people with decades of experience.

If you can figure out which is best, let me know!