GitHub: These are the programming language features that really matter to developers

By poring over the most popular and fastest-growing languages in 2018, GitHub discovered that developers value a particular set of features.

These are the top programming languages every developer should learn

While it may seem like the most popular programming languages have little in common, an analysis by GitHub has found otherwise.

By poring over the most popular and fastest-growing languages for 2018, GitHub discovered that developers prize a handful of features shared by the top choices.

The three fastest-growing programming languages of 2018 were the Java replacement Kotlin, the configuration language HCL, and JavaScript spin-off TypeScript, while the most-popular languages were old favorites JavaScript, Java, and Python, according to figures compiled by GitHub.

By GitHub's definitions, the fastest-growing programming languages are those that have seen the largest growth in the proportion of contributors to code repositories over the past year, and the most-popular languages are those whose repositories have the largest number of contributors.

These are the three key features that GitHub, the world's most popular code-hosting service, says link the top languages.

1. Safety when building large, multi-threaded apps

In general, developers want more of a safety net when creating complicated applications, writes Thomas Elliott, data scientist at GitHub.

That desire for safety and predictability is evident in the rise of languages that support static typing, where developers can specify the type of each variable, allowing many errors to be flagged when code is compiled.

"With the exception of Python, we've seen a rise in static typing, likely because of the security and efficiency it offers individual developers and teams working on larger applications," writes Elliott, who adds there is also an increased appetite for languages that make it easier to build stable multi-threaded applications.

"TypeScript's optional static typing adds an element of safety, and Kotlin, in particular, offers greater interactivity, all while creating trustworthy, thread-safe programs."

2. Interoperability and compatibility with existing languages

Among the fastest-growing languages, Elliott identifies a common theme of modern, more fully featured languages that can interoperate with older languages, and that, in some cases, are starting to supersede them.

"Part of the reason TypeScript has climbed our rankings is because of its ability to coexist and integrate with JavaScript. Rust and Kotlin are also on the rise, both of which find built-in audiences in JavaScript and Java, respectively. Python's versatility and interoperability are also impressive; for example, developers can directly call Python APIs from Swift," he writes.

He highlighted how this interoperability, for instance Kotlin's ability to run on the Java Virtual Machine (JVM), was transforming the dominant languages used in areas of application development, for example Google's choice of Kotlin as a first-class language for building Android apps alongside Java.

3. Open source

Finally, being open-source is increasingly important for attracting developers to a language and for keeping them engaged, Elliott argues.

"Communities that evolve, answer questions, and create resources for newer languages like Kotlin can help developers start and continue working with them in 2018 and beyond," he writes.


GitHub's top programming languages by contributor as of September 30th.

Image: GitHub

Also see