Which Programming Language Should You Learn in 2020?
The question is very relative to self-taught wanna-be programmers who are starting their journey into programming in 2020. You might have some programming knowledge from school, but when it comes to enriching your knowledge base with an actual language, it might be hard to pick a language.
There are a couple of things you need to sort out before you proceed to learn.
First of all, let’s point out that you can never fully learn a language. Languages develop over time, new versions are released, and new concepts introduced. An example of the development of a language can be made with Java. This programming language was developing steadily up until 2006 when no more updates were made until 2011, and since then, again, it has been developing at a steady pace. It has grown from a few hundred classes in JDK 1.0 to over three thousand in J2SE 5. Nobody knows all the classes by heart, but if you have access to the documentation and you possess logical thinking, that is all it takes to be able to develop what you need.
Secondly, learning one single programming language is not going to be enough to call yourself a programmer and expect the high salary everyone says programmers receive. There is such a wide selection of different technologies nowadays, and they are all more or less connected. There are instances when you will have to make a bridge between Java code and native code on a specific architecture, usually C or C++. Another example is connecting your code to a database, so no matter what language you choose, some knowledge of SQL will be required.
Furthermore, you need to decide what you are going to do with your skills after you have learned a programming language. Is programming only a hobby or you want to make it into a career?
What your future career path will look like? Are you aiming at web development, mobile development or enterprise applications? It is worth mentioning that StackOverflow conducts a survey among developers every year and publishes the results on its website. The survey covers extended topics like demographics of the developers, education, and experience, but also shows trends about popular programming languages. The results have been more or less consistent over the last three years with results from 2019 showing the following:
While the first three are leading in over 56% of the response, Python, Java and Bash/Shell are almost equally popular – 40%. It is easy to understand why HTML and CSS are in the top 5 on the list of popular languages because they, in combination, are the building blocks of the web.
We can describe Python by just stating its core philosophy:
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Python has been the fastest-growing language in terms of community and support. Only five years ago Java was well ahead in the ratings, but today, as we see from the StackOverflow data, Python has climbed up closer to the top, outdoing Java.
– Python is not used only by software developers. Mathematicians, physicists, and even accountants can benefit from using the language.
– Python is beginner-friendly.
– It is simpler to learn when compared to other languages because of its less-cluttered syntax and grammar.
– Python fully supports object-oriented and structured programming, and many of its features support functional programming and aspect-oriented programming.
– With Python, you can build web, mobile, and desktop applications, but it is truly irreplaceable for those who want to develop machine learning applications. It has been rated number one among the programming languages for automation, AI and machine learning development.
As already mentioned, Java had its peak five years ago, but its days are not over yet. The beauty of Java is that its compiled code can run on all platforms that support Java without the need for recompilation or, the way the Sun Microsystems developers have put it, write once, run everywhere.
Although Google has stated that Kotlin is the preferred programming language for Android application development, statistic shows that most Android applications are still written in Java.
Java is a giant that is not going to be taken down so easily by any other language. The reason for this is its use in enterprise applications. It does a great job of reducing the complexity of enterprise application development, and that is the reason big companies like JPMorgan Chase, American Airlines, Airbnb, Uber, Spotify, Pinterest, and many others are still using it.
Just like every software developer should know at least the basics of HTML, the same goes for knowing the basics of SQL. SQL is a language that communicates with databases, and nowadays the majority of the apps on the market have to store or access data. The popularity of SQL comes not because there are so many database developers out there, but because every software developer soon or later will have to handle database management and connectivity topics.