Python has surpassed Java to become the second-most popular programming language in the TIOBE index, one of several imprecise yardsticks used to rank what's in vogue among coders.
"For the first time since the start of the TIOBE index nearly 20 years ago, Java and C don't make up the top 2 positions any more," said Paul Jansen CEO TIOBE Software, in an online summary. "C is still number one, but it is Python that claims the second position now."
Word of Python's rise on Wednesday was followed Thursday by Python creator Guido van Rossum's announcement that he has come out of retirement to join Microsoft's Developer Division, a move that further underscores the ubiquity of Python and Microsoft's focus on serving software developers.
Van Rossum last year left Dropbox after working there for six-and-a-half years. He previously worked for Google. He did not say specifically what he will be working on at Microsoft beyond noting that he plans to "make using Python better" on Windows and other platforms.
Python is already widely used at Microsoft and supported in its products. For example, on Wednesday, Microsoft released a revised Jupyter extension for Visual Studio Code, refactored to integrate a previously separate Python extension and to allow the company to support Jupyter notebooks in other languages.
In July, another programming language ranking from IT consultancy Redmonk reported that Python had displaced Java as the second most popular programming language.
Website programming? Pffft, so 2011. Python's main squeeze is now data science, apparentlyREAD MORE
The foundation of Python's fan club can be traced back to 2014 when Python surpassed Java as the most popular language for teaching introductory programming at top US computer science programs.
Python's surging popularity over the past few years has been attributed to its utility in data mining, AI, and numerical computing. A year ago, when Python displaced Java as the second most popular programming language on GitHub, GitHub pointed to interest in data science as an explanation.
And that view appears to be supported by the concurrent rise in the popularity of the R programming language, also used in data science: R moved from rank 16 to 9 in TIOBE's index over the course of the past year.
Jansen however believes that Python has taken off as a result of its relative simplicity and approachability, at least as compared to other languages.
"Some time ago I had a flat tire and called the road patrol to help me out," said Jansen. "The mechanic asked about my living and when I used the word 'software' in my answer, he smiled and started talking very enthusiastically about his own passion: programming in Python. From that moment on, I knew Python would become ubiquitous."
The mechanic asked about my living and when I used the word 'software' in my answer, he smiled and started talking very enthusiastically about his own passion: programming in Python
And it is, unless you count mobile devices, a rather significant market these days. Python has yet to have much of an impact on the client side of mobile app development, despite mobile app frameworks like Kivy.
Maybe van Rossum will find a way to make Python more relevant for mobile developers. Microsoft, which lost out in the mobile platform wars, certainly wouldn't mind.
Python has some detractors, notably those that argue the language isn't tuned for speed like C or Rust. But Raymond Hettinger, a Python core developer, argues there are other considerations. "For many people, rapid application development and testing outweighs speed issues," he told The Register in an email, adding, "When speed does matter, we have ways to get it: numpy, cython, PyPy, and native libraries."
He also said the Python Package Index (PyPI) is a selling point. "Often the solution to a problem is to scan the library and find that someone has already done your work for you," he said. "For example, the NLTK natural language toolkit is a rich toolset for making sense of human languages."
Al Sweigart, a Python developer and author of "Beyond the Basic Stuff with Python" and other titles, echoed that sentiment.
"I'm not surprised by Python's continued gains in popularity; it's easy to learn and straightforward to use," said Sweigart in an email to The Register. "And Python's 'slowness' is overstated. Who cares about some other language that's a few nanoseconds faster if you spend hours (or days or weeks) trying to figure out how to use it? A human's time is more valuable than a computer's." ®