At the end of 2022 we considered the trends appearing in Programming Languages; now 18 months later, let's see how the software development landscape looks like in 2024.
01-08-2024
Understanding these trends is important as an awareness of the changing trends and movements in programming languages is not just of academic interest or something for others to watch – it is essential for any developer so that they keep the right skills up to date in the right areas.
We will therefore take a look at what is popular and what is not (at least in terms of web searches / questions and likes and dislikes) in Programming Languages. We can also look at the number of job adverts for various programming languages.
Analysing Programming Popularity
There are several studies that can be provide robust insight into the popularity of various programming languages. In all of these you will find Python at or near the top of the list. Yet again it maintains its position as one of the most popular and widely used languages. As in previous years, this is due in part to its versatility, simplicity and the ecosystem of libraries and frameworks that cover almost all (if not all) application areas; for data analytics to machine learning, from graphics, to games, from networking to databases - the list goes on. Python is a key go-to language!
However, beyond the continuing trend of Python's popularity, what other trends are there in 2024? We'll be taking a look at the TIOBE Index, the PyPL Index and the StackOverflow Developer Survey
TIOBE Index
Let's start with the TIOBE Programming Community Index. This index is updated once a month, and at the time of writing the latest index is published for July 2024.
Interestingly, rather than being based on the number of web searches or questions asked regarding a particular language, the TIOBE index is based on “the number of skilled engineers world-wide, courses and third-party vendors. Popular web sites Google, Amazon, Wikipedia, Bing and more than 20 others are used to calculate the ratings.”
The July TIOBY Index top ten in July 2024:
As expected, Python is number one, with C++ and C second and third with Java, C# and JavaScript making up the next three spots. Go is 7th and then old timers such as Visual Basic, Fortran and SQL round out the top 10.
Within this table we can see that Go is a high riser from position 13 a year ago to 7th this year. Go is being seen by many as a potential replacement for C/C++ and as it is well structured, consistent and performant there is a lot of interest in it. It is becoming widely used with cloud computing, web development and even data science etc.
Perhaps another surprise is the rise of Fortran up to 9th from 11th. Fortran is a very old language coming from the late 1950s although more modern versions of Fortran have evolved from FORTRAN 77 through to the recent Fortran 2023. You might wonder why this is; one theory is that because Fortran is especially good at numerical analysis and computational mathematics it is of interest to those working in both the data analytics fields and the AI fields as both rely heavily on numerical and mathematical computing.
What is perhaps not so obvious are those language which have dropped out of the top ten in the last year; these include PHP and Assembly Language. PHP is perhaps the surprise here as it is widely used within web site development; however, it is an aging language and there are many more modern competitors.
A modern competitor which seems to be struggling however is Kotlin, which is 20th in this year’s index – although it is worth noting that a year ago it was 26th in the TIOBE index.
So where does that leave us with the TIOBE index, we can perhaps say the following:
C and C++ are still very popular and interest in C++ appears to be growing (despite the US Government recommending alternatives due to safety and security concerns).
The predicted demise of Java is still very premature.
Just because a language is old, does not mean that it is not popular – see Fortran as an example.
Go is the fast-rising star of the TIOBE Index.
However, it should also be noted that Rust is another high rising language on the TIOBE Index, as it has risen from 17th a year ago to 13th
this year.
It is not in the top ten yest, but if this rate of improvement in popularity continues, it is likely to make the top 10 nest year.
PyPL Popularity of Programming Language Index
The PyPL Index
is created by analysing how often language tutorials are searched for on Google; it therefore is highly likely to highlight new and upcoming languages.
Looking at the top 10 on the PyPL Index for July 2024, Python has by far the biggest share with over 29% and is in position 1. This continues the trend we saw on the TIOBE index.
In the case of PyPL Java, JavaScript, C# and C/C++ make up the remaining top 5 positions. In the case of PyPL it is exactly the same top 5 as at the end of 2022 and is similar (although the order differs) to the top 5 or 6 on the TIOBE Index.
Other than R and PHP changing places (with interest in PHP again dropping) the only really big change is that Rust has risen up the chart to position 10 (from 13th 18 months ago). Again, these two trends echo those seen on the TIOBE index; interest in PHP is perhaps dropping while interest in Rust is on the rise.
However, before anyone gets too excited about Rust, it is worth noting however, that although Rust is on the rise in the PyPL index; its share of the index is still only 2.55% whereas Pythons is 29.35% and even Java has 15.6%; therefore, Rust has some way to go to match these more established languages.
Finally, it is worth commenting on Kotlin, this is now languishing down in 20th
position which given the interest in Kotlin a few years ago is a surprise!
Stackoverflow Survey
Although the 2024 StackOverflow Survey is not yet done; we can look at the 2023 survey, published late in 2023 to see if there are any trends there and whether they align with what else is being shown on across the other indexes.
The 2023 StackOverflow survey for Programming Languages is dominated by JavaScript with over 63%
This is true, across all three groups used with the survey; that is ‘All Respondents’ (shown above), ‘Professional Developers’ and ‘Learning to Code’. Although it essentially draws with HTML/CSS for those learning to code.
This index treats HTML/CSS as programming languages rather than a markup language and we find it in position 2. Position 3 is taken by Python which has overtaken SQL in this index (compared to 2022). While Java, C#, C++ and C come in 7th, 8th, 9th and 10th respectively.
Thus, this index is slightly out of kilter with the others – it places SQL 4th
and typescript 5th which is much higher than the other indexes. However, as it is based on actual developer responses it probably reflects the usage of these languages rather than the need to search for tutorials or ask questions regarding the language on Google etc.
Perhaps the most interesting fast is that newer languages such as Go and Rust come in at 14 and 15 for ‘All Developers’, but amongst those ‘Learning to Code’ Rust is at position 12, while amongst ‘Professional Developers Go comes in at position 12. Both of which are two places higher than the ‘overall’ result for ‘All Developers’.
This suggests that Rust is of more interest to new programmers who like its ease of learning and accessibility; while Go is of more interest to professional developers who perhaps are attracted to employment opportunities?
We should also note that Kotlin, once the darling of the JVM (Java Virtual Machine) languages has fallen slight to 15th (from 14th
in 2022) and is 16th amongst those ‘Learning to Code’.
An interesting graph for the StackOverflow survey is the ‘Programming, Scripting and Markup Languages’ desired versus admired graph. In this graph the blue dots represent the level that a programming language is ‘desired’ and the red dot the level that a language is ‘admired’.
On these measures Java Script and Python are the most desired languages, but Rust is the most admired (by some margin). Although there is one of the largest (if not the largest) gap between ‘desired and ‘admired’ for Rust. In contrast Kotlin is not particularly desired (although it is quite highly admired.
Job Opportunities for Specific Programming Languages
As much as it is interesting to see what languages programmers are interested in or admired at the end of the day most developers are going to be interested in ‘can I get a job using language X?’. This is exactly the type of information that the ITJobsWatch
‘Programming Language Statistics’ table provides.
Since the end of 2022 Python
has risen from 4th to 2nd on this table, showing that the demand for Python programmers is not stalling in 2024. SQL is still in the top slot about 300 more live jobs that for Python, however these two are the only languages with over a thousand live jobs.
Third on the table is JavaScript
with demand continuing to be very high as is the case for C# and Java. Interestingly this the same set of 5 languages as appeared in the top five back at the end of 2022 illustrating the stability in terms of the job market for these very well-established languages.
Starting with TypeScript, demand for this language is still increasing it seems, with it going from 8th
to 6th in 18 months on this index. However, both Go and Kotlin have dropped 1 place each down to 13th and 15th respectively in the same period. Interestingly Rust is way down on the ITJobsWatch
table in 22nd position indicating that roles are still quite sparse for this language (even if interest is high amongst developers).
Another interesting statistic relates to average salaries, taken from the ITJobsWatch
site and tabulated below:
The above table lists the languages in order of average salary from the highest to the lowest for the language we have been mostly discussing. What is interesting here is that the newer, less popular
languages according to many other indexes have the higher salaries, the top two are Kotlin and Rust, followed by Go and TypeScript, whereas the most established (and often most in demand in terms of total jobs and popularity) have the lowest salaries such as C# and SQL.
What does this show, perhaps that newer languages, although less in demand overall, have fewer people chasing those jobs and thus individual salaries are higher?
Some Trends for 2024
There are several trends we can identify in the above analysis:
Python. In terms of the overall popularity of programming languages, the glamour kid, no matter what index or survey you look at, is Python! Overall it is still the king of all programming languages! It might not be the highest salary earning as its in the middle of the table. It is still (and likely will continue to be for the foreseeable future) the most popular, and one of the most widely used, programming languages.
JavaScript
is another very popular language, with a huge user base world-wide, and a lot of interest in this language. Again, this is highly unlikely to change over the next few years!
The old stalwarts of Java, C#, C and C++ are also still very important, with a large number of jobs and a high level of interest.
Interest in new languages such as Go and Typescript
is growing at an increasing rate and will probably continue over the next 12 to 18 months.
Kotlin, a language which many expected to be the new Java, has fallen back somewhat, with less interest in it than 18 months ago; although average salaries are still high.
Rust. Interest is still growing in this language is growing particularly in light of the US government, which recently recommend moving from C/C++ to Rust for safety and security reasons. It is highly likely that interest in Rust, as well as the number of jobs available, will also continue to grow over the next few years.
SQL is still a staple of the database world (even with the rise of non-SQL databases).
The Need to learn and Adapt
What this analysis also tells us is that developers and software engineers need to continually learn, explore new programming languages and adapt to an ever-changing landscape. Of course, the core skills in those languages that we know (and sometimes love) such as Java, JavaScript, C# and C++ are still as important as ever; but so is at least an awareness of newer languages such as Go
and Rust.
What Programming Language should I learn?
What does this analysis tell us about the programming language you should learn next?
Well, this probably depends on where you are in terms of knowing programming languages already, for example:
If you are just starting to learn to code, then Python is an excellent starting point as is JavaScript.
If you already know JavaScript have a look at TypeScript.
If you already know one language then look to see what other languages are used with that language and how popular they are, for example, if you know C then explore C++, if you know Java, C# or C++ then have a look at Go or Rust.
If you want to work in AI or data analytics, then if you don't already know Python go and learn it.
If you want to work within the Microsoft .Net world, then learn C#.
For any of these languages there are many books available, online courses (free and commercial) as well as instructor lead courses. Each has cost implications, with free online material obviously being the cheapest and instructor led courses being at the higher end of the scale. However, instructor led courses (whether online or in person) can often be the most time efficient way to learn a new language. You own organisation may have access to online courses through a company subscription or a training budget – the choice is yours!
To help raise awareness of challenges and vulnerabilities and ways to reduce risk, we've got a bumper crop of cyber security blog articles. We've also got a robust range of hands-on training courses covering security for non-technical staff and IT professionals
We use cookies on our website to provide you with the best user experience. If you're happy with this please continue to use the site as normal. For more information please see our Privacy Policy.