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~
The above is the detailed content of June Programming Language Rankings. For more information, please follow other related articles on the PHP Chinese website!

The main differences between C# and C are memory management, polymorphism implementation and performance optimization. 1) C# uses a garbage collector to automatically manage memory, while C needs to be managed manually. 2) C# realizes polymorphism through interfaces and virtual methods, and C uses virtual functions and pure virtual functions. 3) The performance optimization of C# depends on structure and parallel programming, while C is implemented through inline functions and multithreading.

The DOM and SAX methods can be used to parse XML data in C. 1) DOM parsing loads XML into memory, suitable for small files, but may take up a lot of memory. 2) SAX parsing is event-driven and is suitable for large files, but cannot be accessed randomly. Choosing the right method and optimizing the code can improve efficiency.

C is widely used in the fields of game development, embedded systems, financial transactions and scientific computing, due to its high performance and flexibility. 1) In game development, C is used for efficient graphics rendering and real-time computing. 2) In embedded systems, C's memory management and hardware control capabilities make it the first choice. 3) In the field of financial transactions, C's high performance meets the needs of real-time computing. 4) In scientific computing, C's efficient algorithm implementation and data processing capabilities are fully reflected.

C is not dead, but has flourished in many key areas: 1) game development, 2) system programming, 3) high-performance computing, 4) browsers and network applications, C is still the mainstream choice, showing its strong vitality and application scenarios.

The main differences between C# and C are syntax, memory management and performance: 1) C# syntax is modern, supports lambda and LINQ, and C retains C features and supports templates. 2) C# automatically manages memory, C needs to be managed manually. 3) C performance is better than C#, but C# performance is also being optimized.

You can use the TinyXML, Pugixml, or libxml2 libraries to process XML data in C. 1) Parse XML files: Use DOM or SAX methods, DOM is suitable for small files, and SAX is suitable for large files. 2) Generate XML file: convert the data structure into XML format and write to the file. Through these steps, XML data can be effectively managed and manipulated.

Working with XML data structures in C can use the TinyXML or pugixml library. 1) Use the pugixml library to parse and generate XML files. 2) Handle complex nested XML elements, such as book information. 3) Optimize XML processing code, and it is recommended to use efficient libraries and streaming parsing. Through these steps, XML data can be processed efficiently.

C still dominates performance optimization because its low-level memory management and efficient execution capabilities make it indispensable in game development, financial transaction systems and embedded systems. Specifically, it is manifested as: 1) In game development, C's low-level memory management and efficient execution capabilities make it the preferred language for game engine development; 2) In financial transaction systems, C's performance advantages ensure extremely low latency and high throughput; 3) In embedded systems, C's low-level memory management and efficient execution capabilities make it very popular in resource-constrained environments.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Dreamweaver Mac version
Visual web development tools

Dreamweaver CS6
Visual web development tools

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.
