As is always the goal, each language aims to provide faster and smarter programming with fewer bugs. Many new languages come with promises that, that’s exactly what you get when you invest in them. Through trial and error we’ve realised sometimes it’s true and sometimes it’s not. So in order to benchmark the quality of a language we don’t look at this familiar epithet of smarter and faster as key determinants of the quality of the language. Rather we focus on the balance between stability and innovation, because both are required to build amazing new projects.
Before we launch into ‘the list’ there is one other thing I’d like to add to the equation and that is automation. It’s a guiding force in everything tech and has been for a while now. We’re really keen to look at languages that take the monotony out of programming so that our team can do the really exciting stuff. So programmes that help us achieve this sit at the top of our list.
Last but not least — big respect to Microsoft, who developed and is maintaining another superset for JS: TypeScript. TypeScript made possible to embrace a much bigger audience of developers who came with an OOP approach. It’s especially nice to finally create standardised API interfaces via TypeScript, which is essential to the Enterprise segment, with strict type validation and complex data relations. Used widely in React, Angular 2/4 and Vue.js as client-side technology nowadays, it obviously makes Node.js server apps more clear as well.
Highlights: React, Vuejs, Progressive web app, Functional programming, WebAssembly
Kotlin isn’t brand new either, in fact it’s been around for about 7 years. Recently, however, it reached a production-ready version. At this stage it hasn’t achieved the same popularity that Scala, Groovy and Clojure have but as a JVM language it certainly stands out. It is a really awesome language and has now become the official language for Android development. Its great versatility is the primary reason it found its way onto this list.
Highlights: Null-safe by default, first class delegation and completely interoperable with Java
Speaking of Java… despite the fact that the latest supported version is Java 13, Java 8 is quite frequently the first language most developers learn thanks to its role as the lingua franca for AP Computer Science. But we’re excited about Java 8 because it’s different, the new features offer functional techniques that allow a developer to unlock parallelism in their code. The old Java still works, so there is no necessity to switch. But much like the title of this article says, Java 8 is worth a second look.
Highlights: Lambda expressions and concurrent code
Ruby still makes this list because, well, it’s just easy to use and understand. It’s been around the block a couple times and ‘knows what it’s doing’. It also happens to be quite a powerful language with great versatility. In our opinion Ruby on Rails is one of the best web-application frameworks that includes everything needed to create database-backed web applications and API according to the Model-View-Controller (MVC) pattern.
Highlights: Rails application in WAR, Ruby 3×3, Ruby JIT
This is by no means an exhaustive list and we’d really like to hear which emerging languages have caught your interest in the last year, so just pop a comment below if you feel like sharing.
Written in collaboration with Pavel Kozhokar, Vladimir Vinnikov and Sergey Trufanov.