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.   

Adopting Agile or DevOps? Use the Cloud!

cloud-web

Organizations of all sizes continue to embrace Agile and DevOps. Some firms might adopt one or the other methodology, while others combine the two in the hopes of improving their chances at success. Whatever the approach, there’s no denying that leveraging the Cloud makes adoption an easier process.

If your company is new to either Agile or DevOps, or are looking at ways to make the practice of both more efficient, here are a few insights on how the Cloud helps. Watch your team build and deploy great applications faster than ever before. Good luck!

The Cloud helps Agile and DevOps in a Myriad of Ways

An article by Leon Tranter for Extreme Uncertainty covers the different ways Cloud services make implementing Agile or DevOps a relative breeze. Maybe your organization is currently using the Cloud for a portion of its development operations? If so, you are already one step closer to a successful Agile adoption.

Of course, the Cloud facilitates the virtualized environments used for development, QA, and production. Using a virtual container application, like Docker, is essentially an industry standard in software engineering. In this case, the Cloud helps organizations achieve the velocity required for success in DevOps, eventually reaching the Holy Grails of continuous integration or delivery.

As Tranter notes, smaller businesses embracing either Agile or DevOps as part of a Lean startup approach especially benefit from the Cloud. Lower expenses combined with a faster entry to market make the Cloud a winner for many tech startups. It allows the SMB to truly take advantage of their agility.

A Cloud-based IDE?

The Cloud also facilitates the actual process of writing and storing code, especially collaboration in a distributed fashion. This fact largely contributed to Microsoft’s recent decision to purchase GitHub. In essence it gives Redmond a better chance of competing with Amazon’s industry-leading AWS Cloud service.

But what about an actual Cloud-hosted IDE – essentially an IDE as a Service (IDEaaS)? Tranter commented on the emergence of some IDEs offered using the SaaS model. This offers many advantages to startups or existing organizations hoping for the extra efficiency for a successful DevOps adoption.

The Cloud-based IDEs tend to be simpler than their fully-fledged brethren like Visual Studio or Eclipse. Organizations – no matter their size – need to weigh the functionality factor versus the cost savings gained through the Cloud option. Companies developing complex applications may still find a desktop IDE to be a better choice.

General Business Productivity Applications

On the other hand, the Cloud makes perfect sense for the office productivity applications used by any development shop. Choosing Google Docs over the Microsoft Office suite simply saves more money even with the latter option now being provided online. Examples from Application Performance Monitoring software to HR and payroll applications are now available as a SaaS offering.

The bottom line is simple. Any company – startup or enterprise – considering an investment in Agile or DevOps needs to look at leveraging the myriad of Cloud-based tools. The efficiencies and cost savings help earn a faster return on investment, not to mention an improved ability to thrive in a competitive business landscape.

Thanks for reading the Betica Blog. Stay tuned for additional insights from an evolving software development world.

News from the World of Software Development – May 2018

git desktopp

Welcome to the May edition of the software development news digest here at the Betica Blog. We regularly take a look at some interesting stories influencing the application engineering world. Hopefully, they provide a measure of insight to help your own coding projects.

If you are interested in checking out last month’s digest, simply click on the following link. We cover an AI routine that knows how to code. As always, thanks for reading!

GitHub imagining the Future of Collaborative Software Development

The ubiquitous source code repository giant, GitHub, naturally lies at the center of most software development shops’ workflow. This gives the organization a unique ability to influence the overall engineering process across the industry. Collaborative development is one such natural area given the organization’s distributed source control system. An article about GitHub’s importance appeared this week at The Next Web.

A collaborative spirit existed at GitHub from the beginning. The company released a public API for its source control application soon after going live. The software teams behind Ruby on Rails and Bitcoin leveraged it for source control as well as an example of the power of team development.

Ultimately, these two facts highlight the reason the open source movement is so influential throughout the tech industry. Since GitHub is essentially the standard for source code control, it played a large role in transitioning coding from a solitary task to something more social and interactive.  Aaron Upright noted as much in his article for The Next Web.

“Contrasted with alternatives like GitLab and BitBucket, GitHub has taken a best-of-breed approach. It’s essentially created a platform from which it’s possible integrate the products and tools that are better than what it feels it can create. It’s not building chat tools or CI functionality or project management on its own; instead, it makes it easy to integrate Slack, or Circle CI, or whatever else you might want,” commented Upright.

In short, GitHub makes it easy to collaborate when coding; setting an example for – as well as influencing – the rest of the industry.

Oracle finally to remove Java Serialization Security Hole

Serialization is one of the most important functions in software development, allowing data objects to be easily distributed as byte streams. Unfortunately, Java’s serialization routines, in place for decades, create a security hole easily exploited by nefarious agents. Oracle recently announced they plan to remove serialization from future versions of Java. News about the change appeared this week in InfoWorld.

The company plans on an approach allowing developers to use their own serialization engine. It interacts with a small framework included in a future version of the “platform once records” – Java’s nomenclature for data classes. It is expected to support JSON and XML as well as other formats.

Oracle feels they made a massive mistake with the current version of serialization implemented in 1997. They noted that nearly one-half of all Java security vulnerabilities are because of this engine. The company recently added a way to filter the classes being serialized as one way to mitigate the risk before the new serialization framework gets introduced.

Oracle provided no information on which upcoming version of Java is slated to include the reengineered serialization framework. Stay tuned!

That’s it for this month’s news digest. Keep coming back for additional software development insights from the Betica Blog.