Request a free audit

Specialising in Digital positioning and marketing, we tackle challenging questions that yield tangible value. By the end, you’ll receive actionable tips ready for immediate implementation. Take advantage of our complimentary, no-obligation complete audits.

Social media audit Problem definition workshop ISO/SOC readiness

 

Programming languages that are worth a second look

Date
January 26, 2018
Hot topics 🔥
Tech Insights
Contributor
Dmitry Ermakov
Programming languages that are worth a second look

At WeAreBrain we invest a great deal of time in R&D and we’re always keen to investigate new programming languages and test their flexibility and function. Of course, we also love to check in with the old favourites as well to see the latest developments. Throughout the course of last year, we looked at the functionality of Elixir, Javascript and Ruby as some of our go-to favourites while we also had some of our uber cool brainiacs looking into the less well-known languages like Kotlin, Crystal and Rust. So we thought we’d put together a quick list of programming languages that we think are set to drive development.

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.

Javascript

Javascript is by far one of the most applicable languages. You can make a number of different applications for a number of different platforms — browser, server, desktop, mobile platform, serverless, hardware. You can even write code which works on different platforms concurrently. In web development, an isomorphic application is one where code can run both in the server and the client.

The best way to explain it is that JavaScript has grown up — we’re not just making tiny little interactive elements on web pages anymore, we are building entire giant applications in JavaScript. As a result, it’s also more complicated than ever before, with many more moving pieces that make it difficult to grasp the size and scope of the current JavaScript ecosystem.

But that’s also what makes it so exciting. Despite the level of criticism that JavaScript faces every year, it is still one of the fastest-growing programming languages in the world. Besides that, according to the data gathered by the indeed.com website, JavaScript is one of the top three most sought-after languages from the employer’s point of view. Added to this, React has definitely won popularity in the last couple of years, and there has been speculation that the ecosystem of JS will evolve and have brand new GOOD tools, libraries and frameworks.

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

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

Java 8

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

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.

Dmitry Ermakov

Dmitry is our our Head of Engineering. He's been with WeAreBrain since the inception of the company, bringing solid experience in software development as well as project management.

Working Machines

An executive’s guide to AI and Intelligent Automation. Working Machines takes a look at how the renewed vigour for the development of Artificial Intelligence and Intelligent Automation technology has begun to change how businesses operate.