Blog #5 image - 2017 Top Programming LanguagesPreview 2017: Top Programming Languages

Whether you are a seasoned Developer or new to the game, you will be aware of the many programming languages available to you as you start work on a new web or mobile app. Sometimes the decision about which language to use is straightforward, but other times you may have a variety of options, each with it’s own benefits and drawbacks.

Your choice of programming language will ultimately determine what tools and libraries you will be able to access, and how easy it is to integrate with other languages. So understandably you’ll want to be aware of the latest and greatest developments for and by Developers. In this post we give a run-down of the latest and greatest programming languages for 2017, as well as covering updates to some old reliable ones.

Old Reliables…

So our old favorites, like Java and the C-family (C, C++, and C#), are not likely to be completely dethroned in 2017 as the most popular languages among Developers. However, it should be noted that the ‘C’ programming language created in 1972 is fading a little faster than it’s offshoots C++ and C#. While being a little ‘battle worn’, and not as trendy or elegant as the current generation of programming languages, both Java and C++ / C# have active communities and user-bases; and both continue to add new features such as lambda expressions for Java 8 and coroutines for C++17 in response to newcomers like some of our picks below.

JavaScript

No escaping this one again in 2017, folks. Javascript now ships with every major browser and powers server-side apps via Node.js, making it an essential tool in every Developer’s box. It’s dominance has been assured with the help of frameworks like Electron and React Native, which have allowed it to drive development of desktop and mobile applications.

It’s already unusual to see a Developer still using plain JavaScript, as most have evolved towards the use of compilers like Babel and CoffeeScript to transform regular JavaScript into the next generation version. We will see this trend continue in 2017, and more than likely we will have a few new compiler tools being thrown into the mix. This will encourage the trend we have seen towards  other languages being optimized for easier compilation with JS.

But this also brings up an important point about the use of JavaScript for real-time multi-year projects as the language is evolving so quickly there are issues around obsolescence to consider.

(Still) Dynamic Languages

In terms of user-friendliness, we may see an increasing adoption of Python, PHP and Ruby, which have made it relatively easy for anyone to create rapid prototypes through the availability of vast open-source libraries maintained by active developer communities.

These ‘dynamic’ applications will continue to find favor and be the ‘go to’ in the consumer-facing and B2C markets due to having a low barrier to entry and giving developers and designers the ability to quickly build market-ready apps across multiple platforms.

Newer Contenders

So much for the old, which programming languages are we going to be seeing more of in 2017?

It’s ‘Go’ Time…

According to the TIOBE INDEX Google’s ‘Golang’ (Go) gained the most popularity among programming languages in 2016. Now, the significance of this award could be disputed given the fact that TIOBE bases its assessment on the number of times a particular language was ’searched’ for online, rather than the actual number of active users or deployments; still it is worth noting that Go is attracting plenty of attention.
Go has quickly became one of the most popular programming languages around since it’s initial Open Source release in 2009. Designed by Google engineers as a practical replacement for large-scale systems development (where traditional languages including Java or C++ still reign supreme), Go has found a strong, emerging following among all kinds of developers.

Most notable for its simple syntax, built-in concurrency support, and feature-rich standard library (which includes a production-ready HTTP server), Go stirred up controversy over its deliberate omission of features, especially inheritance and generics. Despite its relative simplicity, people already use Go to ship popular, cutting-edge technologies such as Docker and Kubernetes.

Swiftly Gaining Ground…

Apple introduced Swift in 2014, and the language is already climbing the popularity charts. Objective-C still ranks higher, but Swift is rapidly replacing it as the preferred language for both beginners and pros to build iOS apps. The streamlined syntax, gentle learning curve, and powerful abstractions all contribute to Swift’s popularity. While Swift is open source and theoretically could be ported to other platforms, developers still need to rewrite mobile applications in Java or C# in order to run on Android or Windows phones.

Functional Programming Languages Mainstreaming

Functional programming languages such as Scala, Clojure, and Haskell are quietly growing in popularity. These languages offer expressive and concise syntax, exceptional compile-time error checking (meaning fewer bugs in production), and strong support for parallel operations. These benefits come at the cost of a comparatively steep learning curve and small hiring pool. However, as more developers explore functional programming in response to the unique demands of modern computing, functional languages will become more common for real-world projects.

If you have a cloud or software development project that you’d like to see realized in 2017, get in touch with us today. We work in all of the above programming languages, and many, many more – taja@allcode.com