The latest TIOBE Programming Community index for June 2024 has been released, as shown in the figure:
The TIOBE Programming Community index is calculated based on the number of engineers worldwide, courses, popular websites, and third-party vendors, and it reflects the popularity and trends of programming languages. It does not represent the superiority or inferiority of the languages.
Here are the key changes in this ranking:
June 24 Programming Language Ranking Changes
1. Python remains at the top
A long time ago, Python had already secured its position at the top of the rankings, and this time it has increased by 2.93%. What does that mean? The score it gained this month is higher than the total score of the Go language!
This was predictable, as Python, with its simple and easy-to-learn syntax and wide range of applications such as data science, machine learning, web development, and web crawling, has attracted a large number of developers. The recent boom in AI has also given Python another boost.
For friends who are learning programming languages as a hobby, Python is a good choice. However, considering job prospects in China, there are many fewer positions for Python in web development compared to Java, making it more suitable for those interested in big data, algorithms, and product development.
2. C++ Surpasses C Language for the First Time in History
The most significant change in this ranking is that C++ has surpassed the C language for the first time, jumping to second place.
C++ can be understood as the "advanced version" of C language, offering not only high performance but also support for object-oriented programming and many new features.
I believe it is inevitable that C++'s popularity has surpassed that of C, just as the relationship between Java and C++. In today's environment, languages that are easier to use are more likely to be favored by the majority of developers.
The rise of C++ is mainly due to its high performance and modern features. Although it is more difficult to learn than Java, its key position in high-performance application scenarios such as system programming, game development, image processing, and audio and video processing is unshakable. In addition, C++ is also a mainstream language for embedded development and desktop client development.
As for whether to choose C++ or Java for job prospects in China, it depends on individual perspectives. I wrote an article a long time ago to share my views.
The TIOBE index change chart for C++:
3. Go Language Breaks into the Top 7
In the past year, the ranking of Go language has rapidly climbed from 14th to 7th, which is also worth our attention.
The advantages of Go language are its concise syntax and high performance. Its built-in concurrency mechanism makes concurrent programming simple and efficient, which is why it is widely used in the development of network programming, cloud computing, microservices, and distributed systems.
For most of our developer friends, an obvious advantage of Go language is the incredibly fast project startup speed. Traditional Spring Boot Java projects may take more than ten seconds to start, while Go language might take less than 1 second, making it very suitable for rapid scaling in cloud-native scenarios. We are familiar with projects like Docker, K8S, and Etcd, all of which are developed using Go language.
Java has also long felt the threat from Go language, hence the introduction of cloud-native development frameworks like Quarkus. I have played around with it for a while, and the project startup speed is also very fast, but the ecosystem is not yet mature.
Nowadays, the community and ecosystem of Go language are becoming more and more prosperous, with many libraries, frameworks, and tools already in place. Therefore, more and more companies both domestically and internationally are using Go language, and this ranking is not surprising.
As a result, there is a voice in the domestic community forums: Should we switch from Java to Go language?
My suggestion is not to switch blindly. Students with strong self-learning abilities, if you have not yet touched Java, can start learning from Go; but students with average self-learning abilities, it is better to stick with learning Java, because the resources for learning Java in China are too abundant, with various tutorials, projects, and experience posts, which Go language cannot compare with. Moreover, both Java and Go are currently mainstream in backend development scenarios. For backend development, the language is just a tool and foundation. In addition to the language itself and the corresponding development frameworks, other backend development technologies to be learned are universal, such as databases, caching, queues, search engines, Linux, distributed systems, high concurrency, design patterns, architectural design, and so on. So, it is more helpful to learn the more resource-rich Java first to quickly get in touch with other technologies.
4. Some Emerging Languages
By comparing with last year, we can identify some rapidly developing programming languages, such as Rust, which has reached its highest historical ranking of 17th place. Known for its memory safety and high performance, Rust is increasingly taking a share in the systems programming domain that has traditionally been dominated by C/C++.
In addition, the rankings of languages like Swift, Kotlin, and Fortran have also significantly improved, as shown in the comparison chart between 2024 and 2023:
Other Rankings
Finally, let's share the other rankings from the TIOBE Programming Community index to help everyone understand the development trends.
Programming languages ranked 21st to 50th.
Programming languages ranked 51st to 100th:
ABC, ActionScript, Apex, APL, AutoLISP, bc, CFML, Chapel, CHILL, CLIPS, Clojure, COMAL, Crystal, cT, Elixir, Erlang, Forth, Groovy, Hack, Icon, Inform, Io, J, JScript, Ladder Logic, Lingo, LPC, M4, MEL, Modula-2, Mojo, NATURAL, NetLogo, OpenCL, OpenEdge ABL, PowerScript, Programming Without Coding Technology, Q, RPG, Smalltalk, Smarty, SNOBOL, SPARK, SQR, VHDL, WebDNA, Wolfram, X++, X10, yacc
It's a bit of a pity about Erlang; despite having a well-known product like RabbitMQ, it hasn't quite caught on.
Historical Programming Language Rankings
The evolution of popular programming language rankings from 1989 to 2024:
OK, that's it for the share. What are your thoughts on the June programming language rankings? Feel free to speak your mind in the comments section~
Top comments (2)
This is just mind blowing π€―. As a JS dev and Java dev, I'm happy to see my strong suit is among the top 10 for the past 2 decadesπ
Well as for replacements for Java (Go and/or Kotlin) I don't really see the need for people to neglect a powerful language that is part of almost everything we use but I'm still learning Java hopefully build a SaaS solo(if possible) and check out Go.
Well as for job opportunities, I strongly agree with the top 10 languages
Can you give an update for the October 2024 language rankings π π
Thank you!