DEV Community

Cover image for What is the most practical server side language to learn in 2020 - 2021?
Andrew Baisden
Andrew Baisden

Posted on

What is the most practical server side language to learn in 2020 - 2021?

The only backend server side language I know is Node.js. However I have noticed that on some job search platforms server side languages like Java seem to be the most in demand. And I recently had a recruiter reach out to me about a role but the backend server side languages that they wanted was either Java or Python. Node.js is growing in popularity but it seems like there are still many other server side languages that have more usage within the industry.

Top comments (9)

Collapse
 
val_baca profile image
Valentin Baca

In terms of "get a job" practical, I'd recommend Java and Python.

You could learn Python first since it's a fantastic language, however, most backend services err on the side of lowering latency but not going so "low" as C++, which is right where Java fits in.

If you have familiarity with JS/Node.js, Java, and Python, you'll have an incredibly solid resume. They're each incredibly versatile languages and so knowing all three opens up a ton of opportunities.

Collapse
 
andrewbaisden profile image
Andrew Baisden

Python would probably be easier in my case because I already have Udemy courses on Python I just haven't used them yet. Java as well gets talked about a lot I did get some exposure to it back in Uni but never explored it deeper.

Collapse
 
alxgrk profile image
Alexander Girke

Some comments here recommend to focus on Go (performance) or Python (simplicity). A language that combines both, the outstanding optimizations of Java Virtual Machine (JVM) and ease of learning, is in my opinion Kotlin.
With Kotlin, which is multiplatform btw, you will be well prepared for full stack development. Compared to Go, server-side issues like concurrency are handled similarly (Goroutines in Go, Coroutines in Kotlin), while Kotlin is way easier to learn. Plus, once you know Kotlin, Java will be no problem.
But that's just my point of view. In general, I think the language isn't the most important thing in the backend anymore thanks to microservice architectures (each services might be implemented in a different language).

Collapse
 
andrewbaisden profile image
Andrew Baisden

Thanks I am leaning towards Python and Kotlin. This article helped too techbeacon.com/app-dev-testing/why... he mentions Java being old and error prone and having to put up with NullPointerExceptions in Android Apps. Kotlin is the solution it seems.

The only other two considerations I have is Go and Rust which I don't know much about yet but you explained some areas of Go already.

Collapse
 
stereoplegic profile image
Mike Bybee • Edited

While language versatility and adaptability are important, you have the benefit of a language you not only know and can build upon, but which is continuing to grow in use cases.

I just presented to a group of Drupal (PHP-/Symfony-based) developers last year on how a simple Node microservice alongside their monolithic CMS might make more sense and take less time to add custom functionality than writing custom modules which have to be written in the Drupal way and conform to its API.

As serverless options expand (and gain more and more use in companies), JavaScript backend functions are even easier to implement than with containerized microservices (yes, I know they're still containerized, you just don't need to worry about managing the containers). With Cloudflare Workers (based on service workers), you don't even need to (and in fact can't) use Node.

Collapse
 
shane profile image
Shane McGowan

Most practical is quite subjective, if you want performance then don't go with Ruby or Python but if you want a job then those have pretty good job markets.
It's all personal preference at the end of the day otherwise

Collapse
 
remast profile image
Jan Stamer

I would recommend Go since it's the language of the cloud (Go for Cloud) with great performance.

Collapse
 
andrewbaisden profile image
Andrew Baisden

Go seems cool I do remember interviewing with a company and they said that Go was a new language their developers were learning as they were big on personal development.

Collapse
 
aritik profile image
Ritik Ambadi

Go seems like a great bet!
I built a REST API just the other day using the Go Fiber framework. It felt so similar to Express. Go is faster too and has benefits like concurrency.
It makes a lot of sense for companies to switch to a Go Backend since its great for micro services too and also because I think Go is moving closer and closer to being as mature as NodeJS or Java.