2016’s best programming trends

Last January I wrote a TechCrunch post predicting the key programming trends of 2016.

But in the software program development planet, issues can adjust very quickly. It can be challenging to see the higher-level trends clearly by means of all the chatter about shiny new development languages, frameworks and tools.

So, as we near the end of 2016, how precise were my predictions?

Development of the newest version of JavaScript

JavaScript/ECMAScript version 6 (commonly identified as ECMAScript 2015 or ES6) launched in June of 2015, and I predicted that 2016 would see widespread adoption of its new functions as net developers adjusted to the new version of this internet normal. I was mostly appropriate. All the major browsers and Node.js (an open-supply JavaScript runtime) are a lot more than 90 percent ES6-compliant. Nowadays, we see drastically far more ES6 syntax in production and not just internal utilities and smaller sized low-stakes systems, but the principal client-facing systems, as effectively. Organizations not dependent on legacy customers, like Airbnb and Google, are enforcing ES6 syntax in their internal style guides.

Even so, ES6 has not been universally adopted. Some developers want to assistance the old version of JavaScript for legacy causes. Developers who want to use ES6 notation but nevertheless want to reach customers utilizing legacy browsers can use tools such as transpilers or polyfills to convert contemporary ES6 code to the older syntax. Also, some ES6 attributes have not been totally implemented in every single JavaScript environment, such as suitable tail-recursion (Safari ten and iOS 10 are content exceptions). This table is a fantastic resource to see if your target platform is ES6-compliant. The old version of JavaScript isn’t going to disappear overnight, but we saw important growth in ES6 usage over 2016, and I count on most redeveloped web sites in the new year will use it as effectively. I’d say this prediction was quite very good!

Backend as a service

Backend as a service, or BaaS, increased in 2016, as predicted. BaaS is the practice of utilizing third-party solutions to execute particular repetitive tasks for a project — tasks like cloud storage or push notification. By making use of these services, developers can focus on their specialty whilst these services do what they do greatest. Backend API solutions are thriving due to the fact frontend frameworks are changing to far more very easily interact with these solutions. Developers are also increasingly utilizing a method named composition, where an general system is composed of several smaller applications. In such a technique, these little applications are easily supplied by third-party solutions.

I’m intrigued to see how software norms will progress in the coming year.

Note: In my last post I pointed out a well-liked BaaS named Parse. Shortly after the write-up ran, Facebook (its owner) announced that Parse would soon be shut down. These using it will need to have to develop their personal Parse servers and migrate prior to January 28, 2017.

Simple image management and deployment

Services like Docker and Packer became a mainstay of numerous improvement teams in 2016, as predicted. These services enable engineers to swiftly generate and replicate machine photos named containers that bundle a piece of application with runtime, method tools and libraries, and so forth., guaranteeing that it has every thing it wants to run in any environment. Developers can swiftly prototype a project on a lightweight virtual environment with pre-constructed version handle, then very easily deploy the new version on several servers. Server provisioning by hand is inherently tricky and time-consuming, so it’s no surprise that automating this approach has caught on quickly.

Associated tools that grew in reputation final year contain Vagrant (for very easily setting up development environments), and Puppet, Chef and Ansible (for configuration management). Working with container-primarily based systems has turn out to be an integral element of the regular developer’s toolkit. I see no explanation for this to slow down.

Improved reliance on functional programming languages

Functional programming languages like Haskell, Clojure and Scala grew steadily in reputation in the course of 2016. Usage of these server-side languages is driven by explosive development in the quantity of smartphones and connected devices in use, and by our increased expectations of a excellent knowledge on these devices. As our computer systems, tablets, smartphones and IoT gadgets turn into a lot more potent, servers turn out to be the bottlenecks to efficiency. Growing a server’s capability to execute concurrent tasks tends to make it a lot more responsive when interacting with a massive quantity of connected devices. The functional programming model is (largely) stateless, which means that sections of application can far more simply and effectively be run in parallel across distinct CPU cores or machines, without having needing complicated synchronization. This gives the functional paradigm an inherent edge more than the object-oriented approach when undertaking concurrent processing such as internet requests.

Shift toward material design and style and commonality of patterns

Items had been intriguing in 2016 on the visual design front. Not surprisingly, Google incorporated an increasing quantity of material style elements across its whole portfolio — systems (ChromeOS, Android), applications (Chrome, Drive, Google Play Music), web sites (YouTube, AdSense) and even web search. We see material design and style elements in Android apps from Slack, Twitter, Spotify, Airbnb and Wikipedia, and in web sites from Asana, Geekbench and other people. That stated, we didn’t see adoption in other platforms (iOS, Tizen, Windows, MacOS — only a little with Ubuntu). Developers in these other locations pushed forward with styles specific to these platforms, to varying extent.

I give myself only a handful of points of partial credit on that certain prediction from earlier this year. If I’m allowed to recast my design and style prediction for 2017, then I’ll move away from standard style paradigms altogether — toward non-visual interfaces (Amazon Alexa, Siri, Cortana, Google Property) or added-visual interfaces (augmented reality, virtual reality).


2016 brought a lot of thrilling developments in computer software and 2017 promises to be even greater as containers and functional programming languages develop in adoption and JavaScript moves to turn out to be even far more central parts of regular improvement practice. I’m intrigued to see how software program norms will progress in the coming year and eager to share my thoughts with my fellow developers!

Featured Image: Bernhard Lang/The Image Bank/Getty Pictures