Learning new programming languages is an essential part of career advancement for professional developers. Here, we look at five up-and-coming languages that are rapidly gaining traction.
But there are many promising new programming languages making waves in the enterprise. They aren’t a sure thing, but learning one of these newer platforms might pay off in the future: they are in production use at smaller scales or they wouldn’t be on the list.
These languages may also expose you to new programming paradigms and broaden your overall understanding of programming, and mastering cutting-edge platforms can leave you well positioned as a thought-leader in a lucrative and under-served space. Most importantly, tackling a new language is always fun.
Elixir is particularly exciting because it benefits from the performance and concurrency story of Erlang, BEAM, and the OTP, a system originally designed to run highly concurrent critical telecommunications infrastructure. Enterprises using Elixir include Pinterest, Moz, and Lonely Planet.
Kotlin was explicitly designed to provide a safer and less verbose alternative to Java that doesn’t require developers to give up the benefits of the Java ecosystem. It is being used in production by many large corporations, including Uber and Evernote.
Rust was created by a developer at Mozilla, which sponsors Rust and is using the language to build Servo, an experimental browser engine.
In Scala, every function is a value, currying is supported, there is a lightweight syntax for anonymous functions, and, like Elixir, Scala supports pattern matching. Unlike Elixir, Scala is statically typed with a powerful and expressive type system.
If you want to stay within the Java ecosystem while adopting a more functional approach — and going full-Lisp with Clojure isn't your cup of tea — Scala is a great programming language to learn.
Although Crystal is statically typed, it uses an advanced global type inference system to avoid the boilerplate that normally accompanies static languages. Developers are excited by Crystal because it is as fun to write as a higher-level scripting language like Ruby or Python, while being as fast as the more cumbersome C and C++.
There are many other languages I could have included in this list, but the five new programming languages I chose represent a good mix of functional and object oriented, and dynamic and static typing. They all have an active community and it will be interesting to see which, if any, make it into the upper reaches of the TIOBE index in the next few years.