DEV Community

Cover image for The programming language conundrum
Suriya Ganesh
Suriya Ganesh

Posted on

The programming language conundrum

As a programmer, the scenario that all of us have at least faced once in our life what programming language to learn first(for newbies) or what language to learn next for experienced engineers. This article tries to provide with you a better understanding to do the same.

Python: The second best Language to do anything
If you are a newbie who is trying to learn programming then one of the best choice would be to go with python simply because of its simplicity and versatility.

In case of an experienced engineer you can never go wrong by learning python and adding it to your skillset because it opens so much opportunities for you in multiple domains due to the versatility, python is simply the second best programming language to do anything and everything across different domain like machine learning to backend web development and scripting.

Python is also backed by a huge community base which is very active and also the simplicity of the language which reads like English always helps programmers to solidify the programming concepts which can then be translated into more complex programming languages.

Python is the "most powerful language you can still read".
― Paul Dubois

JavaScript: The Language for web Development
If you are a newbie it serves you best to have this language in your arsenal especially because due to its dominance in web development also since it is a interpreted language it is easy to pick up for people who are new to programming.

For Experienced Developers, working with Javascript opens up many doors as the language which was primarily used in Frontend Development in the past, it has started to branch out into other areas like backend development(node.js) and machine learning(Tensorflow).

The Language itself is simple, dynamic and easy to learn and also the plethora of libraries which are built on top of it makes the language even more richer.

Fortunately, JavaScript has some extraordinarily good parts. In JavaScript, there is a beautiful, elegant, highly expressive language that is buried under a steaming pile of good intentions and blunders.”
― Douglas Crockford

Go : King of Concurrency
Even as a newbie, while it is easier to start with a simple interpreted language like python and javascript it always helps to learn a compiled language which puts a lot of emphasis on type safety, Compiled Languages gives you a lot of perspective and opens you up to possibilities.

If you are an experienced Developer there are two scenarios in which learning GO would be extremely beneficial to you:

  1. If you are into DevOps/Cloud native Development, because most of the common DevOps tools like Docker, Kubernetes themselves are written in GO.
  2. Backend Developer , because Go is written by Google engineers keeping in mind the microservices and cloud based architecture which are more prevalent now and also the concurrency which has been made easier with GO.

In real world there are some applications which needs to be written keeping in mind the high amount of data that needs to be processed in these scenarios GO makes a very good case for itself as it is Extremely quick being a compiled Language and also effectively making use of CPU resources by enabling Concurrency.

Go is a language using which large teams of programmers with varying levels of experience can be productive together.

Top comments (0)