- Most used programming languages in the world
- Programming language trends in 2020
- What we built in 2020
- Wrap up
I see how we all are trying to stay informed and keep up with tech trends. It’s vital for both newcomers and old hands to understand where the industry is heading and shape our skills and profiles to stay relevant.
When I say relevant, I mean two things; on one hand we seek access to good projects to be able to provide for our families, on the other hand we all try to build something meaningful and new tech usually enables new solutions.
Programming langugages are at the core of what we are doing in tech. Beginners pick one or two languages to strat with, veterans keep learning and experimenting as things evolve.
We apply tech in various different fields and industries today, we have strong focus on data and machine learning, web and mobile apps are born every day to solve old problems in new creative ways, we have DevOps to make the whole process sensible, we see the rise of streaming and AR/VR and I’m sure we could go on and on with this list.
As these applications evolve a few tech components emerge as the potential winners in ther respective fields. As we approach these technologies we usually find a significant programming language in the background.
Looking at programming language trends is valuable for two reasons; one is that we get a good feeling of what languages people are using in real-life projects out there, second is that we may get an idea of the tech most used in specific fields.
This may help us to decide what language or library to learn next, and see what alternatives other people are using in situations similar to ours.
Most used programming languages in the world
A few years ago I saw a graph that was very similar to the one below. It showed the growth trends of the top programming languages on Stackoverflow. When I saw that graph I became truly excited because I found a way to get a sneak peek at how real people and projects are using today’s tech.
The figures shows how many Stackoverflow questions were tagged with a given programming language’s tag as the percentage of total questions every month. The graph starts on the launch day of Stackoverflow in 2008.
I would not directly compare these languages though and would not really think in terms of overtaking.
I rather think of the lines as indicators; a strong upward slope (e.g.
Python) is a clear sign of something new and interesting happening, and an obvious downward slope (e.g.
PHP) is a clear sign of a decline in new applications.
Python’s line means that we found a killer application, which is data science and machine learning as we’ll see later.
Let me show you more than six languages though, so let’s get the list of the top programming languages of all time from Stackoverflow.
The numbers show the total number of questions carrying the given programming language’s tag since 2008. I was curious to see what’s happening to
Dart and I stopped there, 23 is a good number to move on and I will look at
Lisp some other time.
Let’s draw the graph of the rest of the programming languages on the list.
Dart immediately pops out, it’s the language of Flutter, Google’s mobile and web app building framework, a contender of React Native. We found a gem you may want to explore later.
I’m a bit baffled by
C, the line looks like Google trends of seasonal demand, as if people would go to Stackoverflow and ask a lot of
C questions every year during the holiday season.
In the third group
Typescript are the languages to watch. I expected to see
R like this, but it surpassing
SQL surprised me.
SQL, too, may be noteworthy, because the line is stable, for structured data
SQL remains strong in a data driven world.
Ruby on Rails used to be a highly preferred web application framework some 6-7 years ago, but many things happened, Node came, serverless emerged, Python stayed strong and Ruby seems to slowly decrease.
Programming language trends in 2020
Please find below the overview of programming languages in 2020, the graph shows the number of new questions as the percentage of all questions created on Stackoverflow in 2020.
The data I used to look into the 2020 trends is from the Stackoverflow dump published on December 6, 2020. In order to look at an entire year, I defined 2020 as the period between December 6, 2019 and December 6, 2020 and defined the year 2019 as the period between December 6, 2018 and December 6 2019.
I think it would be wrong to argue that we build most projects with
I’d rather interpret the figure like this: the world needs more of what we build with
Which means that the main focus of most projects is data and apps (web and mobile). We might get a better view based on the growth figures from 2019 to 2020.
One questions remains: What kind of problems are people solving with these programming languages? Let’s find out in the next chapter!
What we built in 2020
I tried to depict the details on sunburst diagrams and I found that the largest 2-3 segments under each programming language will give a good idea of the domains where most projects use them.
Feel free to hover over the narrow parts though, maybe you’ll find something exciting.
Seeing data crunching and machine learning related tech under
Python was expected. On the other hand, I found it interesting to see
Django with so much weight under
We can see so much debate online whether using
node.js is a strong
Please let’s not compare React and Angular based on this graph, because Angular is Typescript based, so most Angular questions are not marked with
Java side you’ll find that the Android mobile development use case gives the largest portion, and
Spring is the other big item.
PHP is still in the game with Laravel and Wordpress, these are very powerful options to start an online venture quickly and cost-effectively.
This slide seems obvious at first, but looking at the details, we might find some treasure.
One would be that
JQuery is still a thing and investing some time into learning
JQuery might be useful.
Flexbox might be another point worth noting. I ignored it for many years, but it’s incorporated in the latest facelift of my blog and serves me well.
The last graph is clear: we still don’t understand pointers. You might need
C, because embedded programming is a thing now.
Python is, of course strongly used in the domain, but let’s remember that
Python (besides so many more things) was also written in
C. So, learning
C is eternal.
I think there is one pretty cool tech hidden in this figure that I’d recommend. It’s Firebase; you can find it under
Dart. Firebase is a cloud service by Google, that gives you all the necessary services to start your app with minimum hassle.
I also included
Bash on this list as a reminder that it’s a skill we all have to maintain from time to time.
I hope you enjoyed the post and graphs. If I had to give you three takeaways, I’d give you these:
- Data science and machine learning are really booming, explore
Rand don’t forget about
- Build your applications with
Typescriptfor web, mobile and the server. Use
Spring bootas a server side alternative and experiment with
Dartfor web and mobile.
- Check out Firebase.