What the world built with programming languages in 2020

Tech trends What the world built with programming languages in 2020

Mark Takacs

Learn Docker Get the book today

Learn to build, ship and run highly scalable applications with Docker containers.

$34.99 $15.99 - Download the book 54% OFF.

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.

You may remember heated articles from around 2018 when Python overtook Javascript as the leading programming language on Stackoverflow.

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.

Javascript’s line looks fairly stable, but we all know that there is a lot going on and it’s one of the most thrilling languages to be involved with.

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.

# tag count
1 javascript 2,130,783
2 java 1,735,439
3 python 1,597,896
4 c# 1,450,818
5 php 1,381,623
6 html 1,038,358
7 c++ 702,947
8 css 694,921
9 sql 570,524
10 r 377,700
11 c 345,968
12 swift 283,856
13 python-3.x 262,833
14 ruby 216,766
15 typescript 133,885
16 bash 130,986
17 scala 101,729
18 perl 65,965
19 go 50,358
20 kotlin 49,720
21 delphi 47,010
22 haskell 45,393
23 dart 41,892

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 R and 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.

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 Python and Javascript, I know this is not the case.

I’d rather interpret the figure like this: the world needs more of what we build with Python and Javascript right now.

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 Python.

We can see so much debate online whether using Javascript on the server side is a good solution, the tags show that node.js is a strong Javascript application, which is in line with our real-life experience of working with more and more Node apps at work.

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 Javascript (although some are, as you can see), hence this comparison would be misleading.

On the Java side you’ll find that the Android mobile development use case gives the largest portion, and Spring is the other big item.

Good old 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.

They give you just the right basis; a document database, static file hosting, Javascript and Mobile SDK, cloud functions, authentication (!) and ML (and analytics and stuff). I use Firebase to display post view counts on my blog, I think it’s ideal to bring your online app ideas to life.

I also included Bash on this list as a reminder that it’s a skill we all have to maintain from time to time.

Wrap up

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 Python and R and don’t forget about SQL.
  • Build your applications with Typescript for web, mobile and the server. Use Python or Spring boot as a server side alternative and experiment with Dart for web and mobile.
  • Check out Firebase.
Twitter Facebook LinkedIn