Which programming languages do software engineers and developers actually use?
According to Stack Overflow’s latest Developer Survey, which queried 89,184 developers from 185 countries, the most-used languages among professional software developers and engineers include JavaScript, HTML/CSS, SQL and Python. Check out this chart of the top 15 languages; the Developer Survey website features even more:
The chart-toppers on this list make total sense. Whether you’re building a website (HTML/CSS), wrestling with a company’s database (SQL), building apps and websites (JavaScript), or building software and analyzing data (Python), these languages are ubiquitous and useful. These older languages also have significant legacy codebases that must be maintained (and aren’t likely to be replaced in the near future).
The rest of this list is also interesting, and shows how newer languages are gaining momentum. For example, TypeScript (technically a superset of JavaScript) has gained popularity thanks to its reliability and features like static typing; while it might not eat JavaScript’s market share anytime soon, it’s clearly preferred by many developers and engineers.
Although it’s much further down the list, keep an eye on Kotlin as another up-and-comer. It’s been repeatedly named one of the most-loved languages on Stack Overflow’s annual Developer Survey, and many developers prefer it to Java, the language it was designed to supersede. Years ago, Google declared Kotlin a “first class” programming language for Android development, and it’s grown an audience ever since.
As you build up your coding knowledge, keep in mind that, in addition to formal coursework, there’s lots of material out there for self-learning. Another Stack Overflow breakdown makes it clear that software developers and engineers prefer technical documentation, blogs, how-to videos, and written tutorials when it comes to their self-directed learning resources. You can also ask questions on forums; many developers are only too happy to explain an annoying aspect of a particular programming language.