Programming languages: Python is on the verge of another big step forward

Python could soon take first place in one more programming language popularity ranking.
Written by Liam Tung, Contributing Writer

According to one measure, Python is potentially on the verge of becoming the most popular computer programming language and joining C and Java as the only other languages to attain the top spot. 

Python has been snapping at the heels of Java and C for the past few years on the 20-year-old Tiobe index and recently knocked Java off the second spot to rival C. 

Tiobe, a software testing company, bases its rankings on searches for programming languages on popular websites and search engines. The Tiobe index is updated monthly, and it doesn't align with other language popularity rankings. For example, the electrical engineering magazine IEEE Spectrum has ranked Python as the most popular language since at least 2020, followed by Java, C, and JavaScript, while developer analyst RedMonk has JavaScript in top place, followed by Python and Java, and places C at tenth. 

See also: Programming languages: Python's new developer in residence and their 'make-it-or-break-it' role.

C, created in the 1970s, remains popular because it is a foundational language with direct access to hardware, but it is also prone to memory-related security vulnerabilities. Mozilla-hatched Rust holds promise to replace C in systems programming, as seen in efforts underway at Google to bring Rust to Android, a push to make Rust a second language to C in the Linux kernel, Amazon Web Services' use of Rust in infrastructure programming, and moves at Microsoft to bring Rust to Windows and Azure.   

But Rust is nowhere near as popular as Python, which is favored because it's relatively easy to learn and has a wealth of machine-learning libraries and frameworks, such as NumPy and TensorFlow. 

"Python has never been so close to the number 1 position of the TIOBE index," writes Paul Jansen, chief of Tiobe software. 

"It only needs to bridge 0.16% to surpass C. This might happen any time now. If Python becomes number 1, a new milestone has been reached in the TIOBE index. Only 2 other languages have ever been leading the pack so far, i.e. C and Java."

Python is hugely popular because of machine learning, but it has no place in mobile app development or web applications or development on mobile devices. It's also slow. Python's creator, Guido van Rossum, who works at Microsoft, recently conceded Python consumes too much memory and energy from hardware. He's working to improve Python's performance and reckons double is feasible.  

"The people who have managed to cross-compile CPython to run on an Android tablet or even on iOS, they find that it eats up a lot of resources," van Rossum said at this year's PyCon conference. "Compared to what the mobile operating systems expect, Python is big and slow. It uses a lot of battery charge, so if you're coding in Python, you would probably very quickly run down your battery and quickly run out of memory," he said.   

The Python Software Foundation recently appointed a Developer in Residence (DIR) to focus on the Core Python (CPython) -- the core implementation of open-source Python that other versions of Python are based on. 

See also: Open source matters, and it's about more than just free software

Tiobe's top 10 programming languages in September 2021 were C, Python, Java, C++, C#, Visual Basic, JavaScript, Assembly language, PHP, and SQL. 

The top 20 languages also included Classic Visual Basic, Groovy, Ruby, Go, Swift, MATLAB, Fortran, R, Perl, and Delphi. 

Fortran's re-emergence as a top 20 language is notable. Just in July 2020, Tiobe ranked it as the 50th most popular language. But earlier this year, Fortran shot up to the 20th spot in Tiobe's index. 

Fortran, designed at IBM in the 1950s, remains popular for coding on the world's most powerful supercomputers. However, some US Fortran standards committee members think the language is under threat from other languages eating into domains Fortran historically performed well in. The catch for Fortran is that developing new features also risks breaking old code. 

Editorial standards