Ruby and PHP were popular in the short term, but in the long term, and Python is increasing again.
The mentality of software developers is changing and employers must take this into account
Professor Ed Felten of Princeton believes that software developers today want to make a positive change in the world and that employers need to understand their needs.
Over the past 10 years, Python had two points in popularity, while Java, JavaScript, C # and SQL dominated software development. TechRepublic looked at the numbers and spoke to a dozen professionals to understand which languages had the greatest impact on the industry.
Developers preferred a few other languages in the course of 2010, including Ruby, Swift and PHP. Java and JavaScript, however, had the largest impact.
This review contains three measures of popularity:
- The Tiobe index based on searches
- Stack Overflow Developer Surveys
- Languages used in technical interviews by Karat
The Tiobe Index follows the popularity of programming languages from month to month and from year to year based on searches. The Hall of Fame of the programming language lists the language that had the highest ranking each year:
- 2018 – Python
- 2017 – C
- 2016 – Go
- 2015 – Java
- 2014 – JavaScript
- 2013 – Transact-SQL
- 2012 – Objective C
- 2011 – Objective C
- 2010 – Python
Briana Brownell, founder and CEO of the analysis company PureStrategy.ai, said that Python has had the biggest impact in the data science community.
“Machine learning is quickly becoming a mainstay of technology and Python is far ahead in the field of technology
of scientific informatics and data analysis, “she said.
Jeff Rouse, vice president of the product at ActiveState, said Python finds the right balance between ease of use and functional possibilities.
“At the start of the modern AI revolution (circa 2010), Python was suddenly the best candidate to bring machine learning from academia and to regular companies,” he said. “The result was an explosion in intelligent automation that has transformed important parts of multiple industries, from fraud detection to customer support (via chat bots / digital voice assistants) to spam filters, and supported solutions are now part of the daily lives of most people.”
Ask developers directly
Since 2011, Stack Overflow follows the habits and coding preferences of developers with annual surveys. The first Developer Survey yielded 2,532 respondents. That year the most important subjects were labor satisfaction and wars with smartphones. In the 2012 survey, SQL, JavaScript, CSS, C # and Java were the most popular languages. In 2013, SQL was at the top of the list and PHP entered the top 5, replacing CSS. By the middle of the decade in 2015, Javascript was at the top of the list.
Transformify CEO Lilia Stoyanov said that PHP has had a major influence over the past decade, even if it is already considered outdated. She said that many of her customers come to Transformify for help hiring developers who can work in PHP.
“It’s a widespread language, it’s easy to find developers, and wages are lower,” she said. “I don’t believe that PHP will disappear soon.”
In 2019, nearly 90,000 developers took part in the Stack Overflow survey and the top five list among professional developers looked like this:
- JavaScript 70%
- HTML / CSS 63%
- SQL 57%
- Python 39%
- Java 39%
The same five languages ruled the top four from 2013 to 2017: Javascript, SQL, Java and C #. In 2018, HTML and CSS pushed C # and Python out.
SEE: Implementing DevOps: a guide for IT professionals (free PDF)
A cyber security researcher and software engineer, Akshay Sharma, said that Java and JavaScript had completely changed the industry in many ways.
“JavaScript enabled a ‘serverless’ architecture with languages such as NodeJS and AngularJS. You never thought you would use a client-side language to serve a back-end server,” he said. “This not only led to the creation of new jobs, but a new way of ‘thinking’ on the part of the programmer when coming up with software projects: recycling the same technologies but using them for a different purpose.”
Bryan Becker, product manager at WhiteHat Security, said there is no sign that Java will ever disappear.
“You can complain as much about Javascript as you want, but many more people now know programming, which is a good thing,” he said.
Venkat Venkataramani, co-founder and CEO of Rockset, said that SQL is still the preferred language for developers who build data-driven applications.
“It is annoying to write custom code to glue a data pipeline together and it is also notoriously difficult to learn a number of domain-specific query languages for different NoSQL databases,” he said. “The killer function that is missing in NoSQL systems turns out to be SQL, and this explains the renewed interest in SQL.”
Test technical skills
The Stack Overflow surveys reflect the languages that people learn and use while working. The following set of data reveals the use of data job candidates during a technical interview.
Karat manages the interview process for companies that hire software engineers. Karat trains experienced engineers to conduct technical interviews and use an interview platform to record the interview, record the code of a candidate and create structured feedback.
Karat shared these statistics from the last three years that reflect the use of language in technical interviews held in a given month.
The VP Engineering Zach van Schouwen from the company said that Java and Python are the most popular languages for candidates in technical interviews, partly because these languages are most commonly given in university computer science lessons. Javascript, C # and C ++ are usually used by more experienced or specialized programmers, so they don’t see the same bumps in the fall interview cycle.
These statistics reflect the languages that a candidate used during a technical job interview to complete an assigned task.
These statistics reflect the languages that a candidate used during a technical job interview to complete an assigned task.
Image: TechRepublic
Van Schouwen said the reason for the rise of Python is that it is a preferred language for AI / ML-focused and cloud-native programmers compared to Java. Another reason for the growing popularity of Python is that it is a very concise language.
“Verbosity is a factor that can make technical candidates stumble using a language like Java – it just takes longer to get through code in a timed environment,” he said.
Josh Vickery, vice president of engineering at SquareFoot, said that when he graduated in 2002, the dot-com bubble had just jumped and he had spent nights reverse-engineering the framework that he needed to use.
“The market has changed enormously since then; people are now learning frameworks at work,” he said.
Vickery said that when SquareFoot, a real estate technology company, recently started building with Python, he committed self-directed learning in the budget to bring employees up to speed.
“A reasonably experienced software engineer can learn while working without coming to a complete stop,” he said. “This is also the first time that I chose a language based on recruitment opportunities.”
Security improvement
Alexandre Rebert, co-founder and developer at ForAllSecure, a cyber security company, said an important development over the past decade was an even stronger focus on security and a push to replace memory-unsafe languages such as C and C ++.
“This partly explains the emergence of memory-safe languages such as Python, Java, C # or the emergence of Go in infrastructure tooling,” he said. “More importantly, Rust has introduced a fundamental new approach to memory safety that offers an alternative to collecting waste for memory management. Although they are still young, the safety concepts introduced in Rust are likely to have a strong impact on the next decade. ”
Becker said the shift to the left trend is encouraging more developers to use languages that are safe through design.
“It’s really, really, very difficult to program something in Rust that isn’t safe,” he said.
Other influential languages
Although Ruby and Ruby on Rails are not at the top of these lists, the language had an impact on the industry. Stephen Fiser from Central Standard Technologies said that what made Ruby on Rails so successful was the concept of “convention about configuration.”
“Rails insisted that if you adhere to simple naming conventions, the configuration needs to be very limited,” he said. “You can just type a few simple commands and use a very simple app. This led to huge efficiency improvements that are essential for launching new products.
Becker also mentioned 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 past 10 years is the multilingual application.
“In the past, developers spent years writing code in a single language,” he said. “Now their applications are a mix of the best front-end language (such as TypeScript), the best back-end language (Go), the best high-performance language (Rest), 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 that recently employers were looking for blockchain developers and machine learning experts. Employers want experienced people to play these roles, which is a challenge because the technology is relatively new. Stoyanov predicts that this shortage will last at least three years.
“It’s much harder to learn machine learning versus traditional programming languages - it’s not for everyone,” she said. “PHP and Java can be mastered by people with average math skills, but machine learning requires advanced math and logic skills.”
Becker from WhiteHat Security is a fan of Rust and believes that Go and Python will remain popular.
“Security tools are built in Python and Go – those are great languages to learn,” he said. “Web Assembly is also becoming more popular, everyone is excited to see where it goes.”
Rouse at ActiveState, an open source language company, said Go is a great choice for developers who are interested in a long-term investment in a language for their long-lived applications.
“It scales extremely well for web services and Go is ideally suited to building a micro-services architecture,” he said.
Vlad Ionescu, chief architect of software company ShiftLeft, sees the need to go back to highly typed languages to improve security and make maintenance easier. Although it is easy to build a prototype faster with JavaScript, Python and Ruby, it is more difficult to maintain the long-term code base, he said.
Ionescu mentions Go and TypeScript as good examples of learning 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 that Golang and Typescript are both gaining 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 is ready to replace most other languages when it comes to simultaneous programming,” he said. “TypeScript will help developers tackle programming challenges on a large scale.”
Vickery or SquareFoot said that if you like what you are doing now, there is no reason to choose a new language.
“If someone pays you to do it now, there are probably ten people who want to pay you to do it,” he said.
Cyber Security Insider Newsletter
Strengthen the IT security of your organization by staying up to date with the latest news, solutions and best practices for cyber security.
Delivered on Tuesday and Thursday
Register today