JavaScript Everywhere?

The Commodore 64 is 32 years old. An 8-bit machine with just 64 kilobytes of memory, it runs at a sluggish 1 MHz (yes, you read that correctly). I used it as my main machine for several years and now it can run in a JavaScript emulator. Although this machine, the top selling single computer model of all time, has faded to obscurity, a group of enthusiastic supporters is still writing fresh code today. They have managed to do things on the original hardware that we never imagined possible. There is even a 3D first-person perspective game that renders texture-mapped graphics.

JavaScript is a little younger than the Commodore but it, too, has experienced a renaissance in the past few years. The proliferation of mobile devices coupled with the death of the plugin has pushed HTML5 and JavaScript to the fore. A slew of new libraries have evolved to provide business solutions to common problems that plagued JavaScript since it was initially written over a ten-day span two decades ago. It is amazing to me that new, popular libraries like jQuery and Angular use almost the same JavaScript we struggled with years ago, but adding them completely transforms the experience of working with the language.

The advances in JavaScript remind me of the 4-minute mile. Running 1.6 kilometers in under 4 minutes remained an elusive barrier for many years until it was finally broken in 1954. Once that barrier was smashed, people around the world were able to repeat the feat. They had the same earth to stand on and same human bodies to use, but the knowledge of that first record-breaking attempt empowered them to push harder and go farther. It is interesting to see JavaScript grow in a similar fashion. Now that the first pioneering tools have helped tame some of the "bad parts" to make it viable for enterprise solutions, the flood gates have opened and libraries are being authored and released at a rapid pace.

Initially JavaScript looked like a good solution for building rich client experiences in the browser. It is still caleld a "User Interface" or "Front-end" technology. It helps solidify the dream of writing a single code base that services multiple devices. Recently, however, the advent of technologies like Node.js and Meteor coupled with a flood of tools to support server-side tasks has firmly established JavaScript as a more universal language, capable of servicing the front-end, our middle-ware, and even the back-end.

Seven years ago Jeff Atwood coined Atwood's Law in this blog post: http://blog.codinghorror.com/the-principle-of-least-power/ proclaiming that any application that *can* be written in JavaScript eventually *will* be written in JavaScript. That law is becoming more true as we see game engines, productivity software, and even compilers written in JavaScript (that compile to JavaScript). The introduction of ASM.js enables savvy browsers to Just-in Time compile (JIT) JavaScript to native instructions that run fast and efficiently. It is only a matter of time before innovative vendors shed the manacles of virtual memory and protection rings to build a JavaScript Virtual Machine that runs right on top of iron.

Does this mean the death of all of those other technologies that are near and dear to our hearts? History suggests otherwise. I'm confident the platforms we know like Java and .NET coupled with the languages we love like C, C++, C#, and Java (and yes, there are a lot more but I'm trying to keep this post concise) will be here to stay. Ironically, you may find yourself using a JavaScript compiler to compile your C into, well, JavaScript. Is that such a bad thing? I don't think so.

I was one of the many to initially dismiss JavaScript based on my personal experience trying to tame it as I scaled a large team across an enterprise application at AirWatch. Ten years ago that was a daunting and frustrating task. Today, it is not only easier, faster, and more efficient, but it also a lot of fun. Disruptive technology is a new technology that unexpectedly replaces and older one. Today we'll need to either change that definition or come up with a new term, because JavaScript is an old technology that is quickly gaining ground on new technologies and platforms. This doesn't mean you should throw down your tools and run for the hills; instead it should be a wake up call. It's no longer possible to look at JavaScript as a "trend" or dismiss it as a "frustrating language." I believe you will soon find that JavaScript is everywhere, and if you don't pay attention now you'll quickly become one of those left behind.

It's time to take a fresh look at an old language that is quickly popping up everywhere.

Great post Jeremy ! Have you tested Wakanda? Another promising JS full stack platform.

Like
Reply

JavaScript is the winning programming language these days.

Like
Reply

To view or add a comment, sign in

More articles by Jeremy Likness

  • Internet Nostalgia

    My good friend Dan Sloan recently posted a chart showing Internet adoption over time and asked when we first used the…

    4 Comments
  • The Pursuit of Greatness

    I've had a lot happen in the past year. My brother-in-law passed away due to aggressive cancer.

    2 Comments
  • The Longest Interview

    The IT Director called me into his office and I knew I was in trouble. I literally started to sweat and felt the…

    10 Comments

Explore content categories