7 Reasons 2014 Was a Great Year for Developers

As 2014 draws to a close, we recap a few highlights. [Photo credit.](http://pixabay.com/en/users/geralt-9301/)

Another year has come to a close and I thought it would be fun to do one of these year-in-review style posts. Without further ado, here’s our list of the most compelling software engineering-related technologies of 2014.

Linux Containers

I would have listed Docker here, but with the recent announcement of a new container standard and emerging security concerns surrounding the Docker platform, it’s probably best to just focus on the underlying technology.

Both Docker and CoreOS are both building a bunch of tools and services to support the use of Linux containers. Which is awesome, because this technology allows everyone to have their own private Heroku, only without the limitations of Heroku.

Yes, there are some concerns, but that’s true with any new technology. The bottom line is that 2014 is the year when Linux containers became a viable option for production deployments.

Web Components

Most other platform targets, including Mac OS X, iOS, and Android, have a fine-grained component model as the basis for building human-computer interfaces. Meanwhile, the Web has limped along for nearly two decades with, at best, a course-grained page-centric model.

All that’s changed in 2014. With the standardization of Web components, support for them in the major browsers—and polyfills for older browsers—and frameworks like Polymer for using them, it’s safe to say Web components have arrived.

HTML5 (and CSS3)

HTML5 officially became a standard in 2014, most of which is now supported by major browsers. With, of course, the lone exception of IE, which still only supports about two-thirds of the spec. Thanks again, Microsoft! Meanwhile, we’ve also seen major advances in CSS3 support, including for transforms, animations, and even flexbox.

In combination with some other developments, including more available Web fonts and, of course, support for Web components, using HTML5/CSS3/JavaScript as a universal target for desktop, tablet, and mobile platforms is more practical than ever. It’s hard to overstate the importance of this. Not only can you use a single codebase across a wide-variety of devices, but it’s all based on open standards!

JavaScript

In 2012 and 2013, we saw the emergence of a viable server-side JavaScript platform.You may have heard of it. We also saw JavaScript increasingly being used as a compile target—for CoffeeScript, TypeScript, LiveScript, ClojureScriptClojureScript took a big leap forward in 2014, actually., and wisp, along with more established languages like Python, Ruby, and Lisp, among many others. That idea is actively being carried out to its logical extreme with asm.js and LLJS. And, of course, with the maturation of browser technology, JavaScript in the browser has only become more useful.

In 2014, with the emergence of the ECMAScript 6 standard and, in particular, support for promises and generators, JavaScript continues to emerge as the lingua franca of modern application development. We saw multiple forks of Node.js, including JXCore, which aims to compile JavaScript directly into binaries. We even now have a microcontroller that runs JavaScript directly. It remains to be seen is how all this innovation will impact the way we use JavaScript. But there’s no question that the JavaScript ecosystem is undergoing a Cambrian explosion of possibilities.

Amazon Web Services

We’re fortunate that we can celebrate a lot of great open source software and open standards in 2014. But Amazon went bananas in 2014 with their proprietary cloud offering, Amazon Web Services. Things started innocently enough back in January with the announcement of new instance sizes and lower prices. Incremental improvements were announced across a variety of services throughout the year. But in November, Amazon sort of lost its beautiful hive mind with a spate of announcements at its re:Invent conference.

For my money, it actually started a week before the conference, with the announcement of private DNS support. That seemingly incremental add-on to their existing DNS offering just happens to enable service discovery via DNS. It escalated with the CodeDeploy and KeyManagement services, announced on the same day a week later. The very next day, they announced Docker support and the Lambda service. The Lamba service, in particular, allows you to build applications entirely out of other Amazon services and reveals a staggeringly ambitious vision for cloud-based applications.

Amazon pioneered the cloud marketplace back in 2006. In 2014, they made it clear they intend to continue doing so. While DigitalOcean, Microsoft, Google, and others introduced services targeting the core compute and storage business, Amazon responded with an almost dizzying array of services that go far beyond traditional idea of cloud computing, bordering on a complete reimagining of not only how we deploy applications, but how we develop them, as well.

Cryptography

In 2014, we discovered to our great heartbleed, that the vaults that secured our virtual world were easily cracked. Ironically, we also made our largest forays yet into the cryptographically-based storage and exchange of monetary value. Predictably, this did not end well, but was instructive nonetheless.

Not coincidentally, libraries like Sodium emerged and gained traction due to the failures in widely used libraries like OpenSSL. More people argued about elliptic curves than probably ever before. And, just for fun, the NSA admitted to illegally spying on its own citizens. Which is why we have whole new operating systems being developed to prevent that.

In 2013, for most developers, cryptography was mostly a matter of loading a library of uncertain provenance and figuring someone else had done all the dirty work of making sure it worked as advertised. In 2014, cryptography can make you rich, cost you your job, or even set off international conflicts. In 2014, an understanding of basic cryptography emerged as a mandatory part of a good developers’ toolkit.

The Final Frontier

Space exploration has nothing to do with the daily lives of most developers.Although we can safely say that massive software engineering efforts were involved, and thus probably doesn’t belong on this list, but I saw Star Wars at an impressionable age and so there you are. While Virgin Galactic suffered a major setback, SpaceX and NASA had very big wins. Next-generation spacecraft, codenamed Dragon and Orion, both went into orbit and came back again, without a hitch. Also, we landed a probe on a freaking comet.

Happy New Year everybody!