DEV Community

Discussion on: Which backend programming language should I choose?

Collapse
 
matgomes profile image
matgomes • Edited

IMHO I think you should learn them all. If you know many languages you can use your knowledge to choose one that will solve your problem better.

But you have to start with one, right?

I've never trully worked with Ruby, so I can't say much about it but afaik it's losing space to other languages like javascript/node.

Kotlin is a great language with a lot of improvements compared to Java and there are a lot of great web frameworks besides spring, like ktor and micronaut that can support high throughput. You can also easily work with concurrency using coroutines and channels, and can also build a binary using graalvm to start applications at high speed compared to jars. The problem is that companies started using kotlin recently and most of them still have Java applications.
The natural way is to learn Java first and then Kotlin. Which is sad, because after using Kotlin is very painful to program in Java again.

Go is wonderful language, the built-in library by default has a great support to server side development and you can do many stuff without the need to use external libraries/frameworks. You can achieve high thoughput with low usage of hardware. If you are a experienced developer, you can easily learn Go as it's a very simple language.

Python is a user friendly language, it has many good aspects but on backend I would use it to build simple applications that are going to make IO bound operations since it's easy to prototype something. Some great frameworks like sanic and vibora are making great usage of asyncio library, but they are not mature options yet.

I know it's very hard to choose one to begin with, but TBH just pick one that you feel comfortable with. The process of learning a new language should be a pleasant work.

Collapse
 
kovah profile image
Kevin Woblick

Actually I would really like to learn them all. The problem is that I don't have much time for learning, so focusing on one is the only good solution.

But your thoughts and details about the languages are a great help, thank you very much!