What back-end language should I learn?

almost 6 years ago from Pavel Ivanov, UI/UX Designer

  • James FutheyJames Futhey, almost 6 years ago

    Spent some time as a dev as well. Not going to make this a “which language is better?” post. Instead, I'll focus on other practical aspects of popular languages:

    Ruby is a wonderfully-designed language. The ecosystem is shrinking as developers seem to be moving to Go & Node. Fairly easy to learn, good ecosystem / plenty of libraries available. 2010 was probably the perfect year to learn Ruby & Rails, though. Prospects not as hot these days.

    PHP, on the other hand, is a terrible language. But, it can come in handy if you work on Wordpress websites. If you're not working on Wordpress sites, I would say “stay away”. It's not going to open doors for you. It's not going to teach you any best practices (although it's getting better!)

    Javascript / Node: Here is where I would place my bets.

    1. It's easy to get started, especially if you already have front-end Javascript experience.
    2. NPM is, hands down, the largest repository of packages and libraries you will find, anywhere. Given, there's some mediocre & unmaintained stuff as well, but you're going to have a really easy time finding libraries and packages for whatever project you want to work on.
    3. Hosting isn't the nightmare it was when Node was first released. Now.sh & similar make deployments & scaling a snap for beginners.
    4. Node adoption is currently growing. Pretty much every other ecosystem I can think of (excluding Golang) is shrinking or stagnating.
    5. JS has the biggest developer community. Plenty of tutorials and guides to get you started.

    Golang is becoming incredibly popular with developers right now. It's a great language, but it's probably a bit difficult for beginners. Library support / dependency management is a nightmare (even more so if you're a beginner). Lots of devs seem to be having fun re-inventing the wheel in a relatively-new ecosystem. Some basic things lack mature solutions. Golang will, however, probably emerge in 3-5 years as an incredible language with a great ecosystem & tons of support. Today, however, the learning curve is pretty steep.

    Hope this helps!

    2 points