Ruby and PHP had short-term popularity but long-term impact, and Python is on the rise again.
This review includes three measures of popularity:
- The Tiobe Index based on search queries
- Developer surveys from Stack Overflow
- Languages used in technical interviews from Karat
The Tiobe Index tracks the popularity of programming languages from month to month and year to year based on search queries. The Programming Language Hall of Fame lists the language that had the highest rise in rankings each year:
- 2018 – Python
- 2017 – C
- 2016 – Go
- 2015 – Java
- 2013 – Transact-SQL
- 2012 – Objective-C
- 2011 – Objective-C
- 2010 – Python
Briana Brownell, founder and CEO of the analytics company PureStrategy.ai, said that Python has had the biggest impact in the data science community.
“Machine learning is fast becoming a mainstay of technology, and Python is way ahead in terms
of scientific computing and data analysis,” she said.
Jeff Rouse, vice president of product at ActiveState, said that Python strikes the right balance between ease of use and functional capability.
“At the start of the modern AI revolution (circa 2010), Python was suddenly the best candidate to bring machine learning out of academia and into mainstream businesses,” he said. “The result has been an explosion in intelligent automation that has transformed key parts of multiple industries, from fraud detection to customer support (via chatbots/digital voice assistants) to spam filters, and supported solutions are now part of most people’s daily lives.”
Asking developers directly
Transformify CEO Lilia Stoyanov said PHP has had a big influence over the last decade, even if it is already considered outdated. She said many of her clients come to Transformify for help hiring developers who can work in PHP.
“It is a widespread language, it’s easy to find developers, and the pay rates are lower,” she said. “I don’t believe that PHP will disappear anytime soon.”
In 2019, almost 90,000 developers took the Stack Overflow survey and the top five list among professional developers looked like this:
- HTML/CSS 63%
- SQL 57%
- Python 39%
- Java 39%
SEE: Implementing DevOps: A guide for IT pros (free PDF)
Bryan Becker, product manager at WhiteHat Security, said there’s no sign of Java ever going away.
Venkat Venkataramani, co-founder and CEO of Rockset, said that SQL is still the language of choice for developers building data-driven applications.
“It is annoying to write custom code in order to glue together a data pipeline and it is also notoriously difficult to learn a bunch of domain-specific query languages for different NoSQL databases,” he said. “Turns out the killer feature that is missing from NoSQL systems is SQL, and this explains the renewed interest in SQL.”
Testing technical skills
The Stack Overflow surveys reflect the languages people are learning and using on the job. The next set of data reveals the data job candidates use during a technical interview.
Karat manages the interview process for companies hiring software engineers. Karat trains experienced engineers to conduct technical interviews and to use an interview platform to record the interview, capture a candidate’s code, and create structured feedback.
Karat shared these stats from the last three years that reflect language use in technical interviews conducted in a given month.
These stats reflect the languages a job candidate used during a technical job interview to complete an assigned task.
Van Schouwen said that the reason for the rise of Python is that it tends to be a preferred language for AI/ML-focused and cloud-native programmers compared to Java. Another reason for Python’s rise in popularity is that it’s a really succinct language.
“Verbosity is a factor that can trip up engineering candidates using a language like Java—it just takes longer to get through code in a timed environment,” he said.
Josh Vickery, SquareFoot’s vice president of engineering, said that when he graduated in 2002, the dot-com bubble had just burst and he spent nights reverse-engineering the framework he was supposed to be using.
“The market has changed a lot since then; now people are learning frameworks on the job,” he said.
Vickery said when SquareFoot, a real estate technology company, recently started building with Python, he budgeted self-directed learning to bring staff members up to speed.
“A reasonably experienced software engineer can learn on the job without coming to a complete standstill,” he said. “Also, this is the first time I chose a language based on hiring potential.”
Alexandre Rebert, co-founder and developer at ForAllSecure, a cybersecurity company, said that an important development in the last decade has been an even stronger focus on security and a push to replace memory unsafe languages like C and C++.
“This explains, in part, the rise of memory safe languages, like Python, Java, C# or the rise of Go in infrastructure tooling,” he said. “More importantly, Rust has introduced a fundamental new approach to memory safety, offering an alternative to garbage collection for memory management. While still young, the safety concepts introduced in Rust are likely to be a strong influence in the coming decade.”
Becker said the shift left trend is encouraging more developers to use languages that are secure by design.
“It is really, really hard to program something in Rust that is not secure,” he said.
Other influential languages
Although Ruby and Ruby on Rails do not show up at the top of any of these lists, the language had an impact on the industry. Stephen Fiser of Central Standard Technologies said that what made Ruby on Rails so successful was the concept of “convention over configuration.”
“Rails pushed the idea that if you stick to simple naming conventions, there is very limited need to configure the set up,” he said. “You can just type a few simple commands and have an entire basic app up and running. This led to massive improvements in efficiency which is essential to launching new products.
Becker also named Ruby and Ruby on Rails as an influential language.
“It was the first framework that was easy to use and that changed web development forever,” he said.
Quinn Slack, co-founder and CEO of the code intelligence company Sourcegraph, said that the most influential programming language of the last 10 years is the multi-language application.
“Previously, developers would spend years writing code in a single language,” he said. “Now, their applications are a mix of the best frontend language (like TypeScript), the best backend language (Go), the best high-performance language (Rust), the best language for
machine learning components (Python) and the languages for mobile applications (Swift, Kotlin, Objective-C, Java, etc.).”
What about the future?
Transformify CEO Stoyanov said recently employers have been looking for blockchain developers and machine learning experts. Employers want people with experience to fill these roles, which is a challenge because the technology is relatively new. Stoyanov predicts this shortage will last at least three more years.
“It is much harder to learn machine learning vs. traditional programming languages – it’s not for everyone,” she said. “PHP and Java could be mastered by people with mid-level math skills but machine learning requires advanced math and logic skills.”
Becker of WhiteHat Security is a fan of Rust and believes that Go and Python will continue to be popular.
“Security tools are built in Python and Go—those are great languages to be skilled at,” he said. “Also, Web Assembly is growing in popularity, everyone is excited to see where it is going.”
Rouse at ActiveState, an open source languages company, said Go is a great choice for developers who are interested in making a long-term investment in a language for their long-lived applications.
“It scales exceedingly well for web services and Go is ideally suited for building a microservices architecture,” he said.
Ionescu names Go and TypeScript as good examples of taking the learnings from both older languages and newer languages and not repeating the same mistakes.
Calvin French-Owen, co-founder and CTO of Segment, a data integration company, said Golang and Typescript are both rising in popularity.
“Golang is one of those influential languages that has quickly become the ‘swiss army knife’ of building servers and distributed systems and I believe it’s poised to replace most other languages when it comes to concurrent programming,” he said. “TypeScript will help developers tackle programming challenges at scale.”
Vickery of SquareFoot said if you like what you’re doing right now, there’s no reason to pick a new language.
“If someone’s paying you to do it now, there’s probably 10 more people who want to pay you to do it, too,” he said.