Is JavaScript the First Ever Dominant Programming Language?

javascript-desktop

Well into its third decade of use, JavaScript continues to grow in popularity. It lies at the heart of popular programming frameworks – like React.js – used in both web and mobile development. One tech leader feels this venerable language is rapidly becoming the dominant one in the software development world.

Let’s take a closer look at JavaScript’s dominance – perceived or not – within the programming community. What are some of the reasons behind its seemingly never-ending popularity growth? Perhaps these insights offer some food for thought for your own team’s software engineering efforts.

Network Effects help JavaScript grow in Dominance

Anil Dash, the CEO of Fog Creek Software (maker of Glitch), column for Medium, where he posits that network effects are driving the growth of JavaScript. Dash feels the days of the lone wolf programmer are long gone; in essence, they’ve now become “networked.” In the modern era, developers sometimes end up collaborating with each other all over the world. This is likely yet another outgrowth of the open source movement.

Dash notes a variety of reasons for this change in programming style. Websites like Stack Overflow serve as a valuable source for tips and tricks of the software engineering trade. In fact, new frameworks tend to grow in popularity in tandem with how much they get discussed on Stack Overflow.

The social aspect of GitHub provides another means for developers to collaborate and commiserate. Finally, Dash highlights a few online developer news sites, like Hacker News, that let programmers better learn the practice while networking with each other. All of this leads to “software being evaluated based on its social success and social merits, rather than just some ostensibly “objective” technical merit.”

So how does the increased networking of the developer community lead to JavaScript becoming the dominant programming language? For one, JS is flexible enough to allow virtually any application to be written in it. Dash feels the capability lies at the heart of its network-driven dominance.

The Many Tentacles of JavaScript

JavaScript is now essentially a network and/or ecosystem unto itself, according to Dash. Everything from popular frameworks like Node.js and React.js to useful variants like TypeScript relies on the programming language. When you consider anyone using a web browser is also running a JavaScript interpreter; well, simply look up ubiquitous in the dictionary.

Stack Overflow’s user data also reveals the dominance of JavaScript. 70 percent of the site’s users include JS among their currently-used programming languages. This percentage of users is only trending upwards, and Dash feels this takes JS closer to its escape velocity. He wonders if one now needs to consider JavaScript as a kind of social network.

What a dominant programming language means for the development world is interesting to ponder. “We just might be on the precipice of an era in coding that’s unprecedented, where we might actually see something new in the patterns of adoption and usage of an entire programming language. That potential has us excited, and waiting with bated breath to see how the whole ecosystem plays out,” says Dash.

There’s no denying that JavaScript continues to wrap its tentacles around many different platforms and applications. Ultimately, any modern developer needs to become an expert in the language in addition to the rest of their skill set.

Thanks for reading this edition of the Betica Blog. Keep coming back for additional dispatches on the software development world.   

News from the World of Software Development – December 2017

base-1Welcome to the final 2017 edition of our news digest, where we train our eye on a few stories of interest to software developers and QA engineers. If you are interested in checking out last month’s digest, simply click on the following link. Hopefully, this month’s edition offers some inspiration for your own projects in the coming year and beyond.

WebAssembly gets your Browser Close to the Iron

The venerable and versatile JavaScript language continues to drive browser-based user experiences to even higher levels. Software engineers leverage a vast number of JavaScript libraries to add more functionality and otherwise become more productive when building web apps. We previously covered React Native, one of the most popular of these libraries.

Now, a brand new and potentially revolutionary tool is gaining steam in the web application world. Called WebAssembly, it promises to provide a significant performance boost to web apps by adding a compiled byte code binary library written in JavaScript or other languages. News about WebAssembly is percolating within the industry, including this week’s article in DZone.

WebAssembly, or wasm if you prefer, essentially serves a similar role as the JVM or .NET, but within a web browser. It replaces JavaScript’s own browser-based virtual machine with its own, and improved performance is the primary result. Most importantly, every major web browser on the market now supports WebAssembly.

The following statement from the WebAssembly FAQ hints at speed boost provided by this new format:

The kind of binary format being considered for WebAssembly can be natively decoded much faster than JavaScript can be parsed (experiments show more than 20× faster). On mobile, large compiled codes can easily take 20-40 seconds just to parse, so native decoding (especially when combined with other techniques like streaming for better-than-gzip compression) is critical to providing a good cold-load user experience.   

DZone writer, Federico Tomassetti, feels WebAssembly, and its improvement in parsing performance promises to bring formerly native desktop applications – like virtual reality or high-end video games – into the web browser. In some cases, a browser can execute these applications today, but wasm speeds up the parsing process, greatly reducing load times.

If your team is working on large high-end JavaScript applications, or even any other language that compiles to wasm byte code, WebAssembly needs to be on your radar. It just might be the biggest news in web development in the last decade. Perhaps you’ll read more about it in a future article here at the Betica Blog.

Artificial Intelligence becomes a Business Standard in 2017

AI and its related offshoot, machine learning, are now commonplace throughout the business world. This software-based innovation helps companies with a myriad of tasks: everything from data science to automated driving. SD Times published an article this week covering the inroads AI made in 2017.

The software development process also benefits from machine learning routines performing in a QA role. It is able to detect, fix, and even predict the existence of bugs. The biggest players in the tech world – Google, Microsoft, and IBM – are all investing a copious amount of resources in AI research as well as practical applications for the technology.

The fact the two major tech industry analyst groups – Forrester and Gartner – both predict the continued growth of AI in the business world in 2018 means you likely encounter it sooner than later in your own software engineering work. Hopefully, AI makes you a more productive programmer.

Keep returning to the Betica Blog for additional dispatches from the changing world of software development. Thanks for reading!