The year ahead for Java, JavaScript, Swift, and Universal Windows

Java and Swift will see significant upgrades, while JavaScript frameworks and Microsoft tooling will transform

The year ahead for Java, JavaScript, Swift, and Universal Windows

In 2016, we saw several shifts in the programming landscape, some of which will carry over into the new year, thanks to forthcoming platform upgrades and lingering grumblings among programming communities.

Enterprise Java, Microsoft, and Apple developers dealt with shifts in strategy, delays, platform pressure, and backward-compatibility issues in 2016 that foretell an important year ahead, for platforms and developers alike.

Meanwhile, the JavaScript community should be prepared for accelerated release cycles in the coming year, Python and PHP developers get up to speed on the latest upgrades, and Go continues its rise and C fades.

Here is what’s brewing in the programming world as we look ahead to 2017.

Enterprise Java: Clouds on the horizon

2016 was a year of turmoil for enterprise Java, as Oracle put the brakes on Java EE, opting instead to reboot the platform for microservices and the cloud. Enterprise Java developers should get a taste of that reboot late this year when Oracle is slated to release a reconfigured Java EE 8. The launch will be the first of a two-part revamping, with Java EE 9 due in 2018. Developers should expect capabilities such as REST services and HTTP/2 in Java EE 8. Java EE 9 will focus on scalable services and key-value store support, among other capabilities.

Prior to Oracle unveiling its retooled EE plans in September, enterprise Java advocates were in revolt, frustrated over a perceived neglect by Oracle and vowing to tackle improvements by themselves. Now, Java proponents will wait and see what Oracle releases with Java EE 8. If Oracle malingers on its promises, 2017 could see increased agitation from the Java community.

Microsoft: The universal push continues

Microsoft spent the past year pushing hard on its Universal Windows Platform (UWP) despite skepticism. UWP provides developers a single platform for creating multiform-factor Windows apps, and Microsoft used its 2016 Build conference to put pressure on developers to adopt the platform.

Going forward, developers targeting the Microsoft ecosystem are expected to soon see Visual Studio 2017, formerly called Visual Studio “15.” The development environment makes accommodations for UWP that could see developers warming to Microsoft’s UWP vision. General release should be available by June, if not sooner. Already out in a release candidate form, the IDE focuses on code navigation and fixes, refactoring, debugging, and saving time.

Microsoft has also been pushing open source as a way to spread its software development technologies beyond Windows.

JavaScript: Accelerated release cycles abound

The popular scripting language for client-side web development had only a minor upgrade to its official specification in 2016, ECMAScript 2016. ECMAScript 2017 is slated to add capabilities such as async functions to simplify writing of asynchronous code, as well as string padding, to take the pain out of using strings and improve web performance. If ECMA follows through on its pledge for more frequent updates, ECMAScript 2017 could be approved around midyear.

On the server side, Node.js is now on its 7.x release line, with proponents working to free up the platform from strict ties to Google’s V8 engine. In turn, this could make Node.js more palatable in emerging areas such as the internet of things.

Meanwhile, Google’s popular Angular.js framework is moving to a faster release cycle; Angular 4 due in March, followed by Angular 5 about six months later. Version 4, previously identified as Angular 3, is expected to offer improved tooling and reductions in code generation. Angular 2, a TypeScript-based rewrite of the framework, arrived this past September. Not to be outdone, Facebook’s React JavaScript UI library and the companion React Native library for native mobile development have gathered more than 50,000 and 40,000 stars on GitHub, respectively. Facebook has also launched React VR, for building browser-based virtual reality applications.

Apple: Betting big on Swift

2016 saw Apple releasing Version 3 of Swift while ironing out its intentions on how it will move forward with the language. Introduced as a successor to Objective-C in June 2014, Swift broke backward compatibility with the September debut of Swift 3 and is on a path toward Application Binary Interface (ABI) stability in its planned Version 4 release, due late this year.

"Apple is serious about pushing Swift as its main programming language, and with a well-defined and stable ABI, it can begin to consider introducing Swift-only APIs into their SDKs,” Kyle Jessup, CTO of Swift tools vendor PerfectlySoft, said in August.

Programming languages: Out with the old, in with the new

Python gave its community a late-2016 gift with its Christmas upgrade, Version 3.6, featuring speed and memory usage boosts, pluggable backing for JIT compilers, tracers and debuggers, and more async capabilities. Meanwhile, the PHP community further embraced PHP 7, the major upgrade released in late 2015, although adoption has been slowed by incompatibility and user policy restrictions.

Google’s Go language, buoyed by the meteoric rise of the Docker container system, gained popularity with developers in 2016, bringing it in from the edge to the mainstream. The 1.8 version of Go, featuring faster compilation, is due next month.

Not faring as well these days when compared with more contemporary languages is C. While still in second place in Tiobe’s monthly index of language popularity, its hold on developer mind share declined precipitously in 2016 in both Tiobe and the PyPL indexes. This has been attributed to not having a single vendor to act as its advocate, a lack of evolution, and the rise of mobile and web development, where C is an afterthought.

Copyright © 2017 IDG Communications, Inc.