Which language should i choose to start learning backend?

hey guys,

in my locality, there are PHP and asp are popular languages… but I was looking more into node.js.

so the thing is I want to start with any good language by which I can easily switch to other languages as required later…

I would argue that PHP and .NET are sunsetting (more so PHP), and that node is a good investment for learning. There are a number of reasons to go with Node, including that an all JavScript stack prevents context-switching.

Yes that’s right but in my locality WordPress is the go to thing for web dev for which i think i should know php…

is it possible to learn both php and node at same time …

People saying that for years and end never comes … Considering php is backbone of every it giant, i doubt it ever will.

Php good, easy to learn, got plenty of documentation and tutorials, but you should first learn things that can land you a job first, afterwards what is now considered modern and “hip”. If node is more sought after, then node it is, if php is then php it is.

1 Like

Whatever you choose it is a good choice. I regret i didn’t start with python. I started with PHP and that caused a lot of frustrations. I don’t say python is all perfect but it has syntax closest to actual pseudo code which is huuge win for every beginner

1 Like

Look at the job openings at places you would like to work. What skills do they ask for.

When you try a language, if you hate it, try another one.

2 Likes

According to the Stack Overflow 2017 Survey php clocked in around 28% for Most Popular Technologies category. That’s nothing to sneeze at, and means a lot of people use it. This is especially true now that version 7 is a mainstream version.

I do agree with @codename11 that php is easy to learn, that is, as long as you are using it in a procedural way. But version 7 has excellent features should you use it in an Object Oriented Programming way. That is not so easy. Unless you have a background in OOP from some other language like Java or C# you are going to struggle. OOP forces you to wrap your head around a whole new set of concepts, some of which will not truly make a lot of sense until you have used it for a year or two. Seriously… But the struggle is worth it. I learned Java first and am glad for it.

But in the end it really doesn’t matter. Pick a language to get your career going, something you can enjoy and can get hired with. Take the time to learn it well, don’t be a language tourist! You next language will come to you much faster if you learn your first one well. Php is cool because it was written expressly for the web space, and it can be effectively used in a procedural way. You can always learn the OOP aspects later.

As other said before, you can go with any of them. It doesn’t matter to much, different languages are always good to learn/know about.

So I’m just going to throw out a few “popular” languages for “backend” work for a web stack, in no particular order

  1. Node.js - as you said its just javascript, so if you have experience on the front-end its very very easy to carry over, since you don’t need to learn the language, but do need to learn the run-time environment.
  2. Php - still used, but carries with it a “bad” reputation due to being around so long. Definitely go with this if you want to do any wordpress work.
  3. Java/.Net/C# - I threw all these together since they are “similar” enough to my knowledge( I have mainly experience with Java) but I know enough that these are more of the “enterprise-y” options. A lot more verbose than php or nodejs, but there are plenty of jobs in enterprise.
  4. Python - I don’t hear much about python as a web framework as much as I used to, but pythons pro’s still stand out. Its a super versatile language, that can be used as your web-backend, utility scripts, data processing, really anything you can think of. I’d consider this if you want to learn a more “utility” language

Notable mentions

  • Golang - fast, modern, backed by google, lower-level
  • Ruby/Pearl AFAIK similar to python as a scripting lang.
  • Clojure(and the like) - the functional language option

This one is a bit tricky. If you want to get a job as a back end developer, you should learn one of the big three: Java, C# or PHP. PHP is the easiest to get started with, but if you carry on, you should learn one of the modern frameworks like Laravel. Max Schwarzmuller has a great course on Laravel over at Udemy.

Ignore people who tell you that PHP is dying. There are tons of jobs and its still used all over the place. It also ties in nicely via the LAMP stack with MySQL, which again, is massively popular.

Having said all that, I think Node is worth learning. It probably won’t get you a job just yet, but it will give you an introduction to the back end.

FCC is mostly aimed at producing front end developers. It teaches just enough of the back end so that you can understand how a full stack web app works. For this purpose, Node is fine. It’s also easy to set up and fun to write.

1 Like