"When JavaScript first launched it was unclear if it would take off. It was written in a few days, and initially only offered in a single browser," said Cory House, principal consultant at reactjsconsulting.com.
A lot has changed since then.
"JavaScript is used today across the entire spectrum of software development, from web applications, mobile applications, servers and even as stored functions in databases," said developer Nate Taylor.
|
"And while that's true, I think it neglects the importance of JavaScript when it first launched. Prior to JavaScript's introduction, the web was not much more than static hypertext delivered in a browser.
"Without JavaScript, we likely don't have the web that we do today, but we didn't necessarily understand that when it was first released."
That breadth of application means JavaScript skills are in demand in a lot of areas.
"JavaScript has grown into a massive ecosystem that has impact in every area of software development. As a JS developer, I can write applications on the backend, frontend, mobile device, and IoT devices," said technology advisor Jonathan Mills.
It's hard to underestimate the effect JavaScript has had on the web.
"Without JavaScript, the web would be similar to the late 90's. Simpler and lighter-weight, but also less feature-rich," said House.
That lack of features would have a significant effect on the user experience.
"It would be slower and more frustrating," said Taylor.
"Imagine signing up for a service. The only way to know if your username was available would be to submit the entire form to the server and have it tell you if that was available. If the name was taken, you'd have to fill out the entire form again and resubmit. Eventually you would either find a unique name, or you'd give up.
"But with JavaScript we're able to do this behind the scenes. While you're filling out the form, sometimes while you're typing the username, you can receive instant feedback if that name is available.
"Additional problems would exist for e-commerce as well. A common situation today is to see something in your cart and decide to change the quantity, or possibly even save it for later in a wish list. Those are relatively straight forward JavaScript calls. Without that, you would again be forced to resubmit the entire form until you were ready to proceed."
That's the past and present of JavaScript, but what about the future?
"I think we've finally moved past the phase of JavaScript where everyone was making jokes about how fast a new library came out, and now we're to the point where we're trying to use it to provide real value to our users and clients," said Taylor.
Mills noted complaints about the complexity of the JavaScript ecosystem and the frequency with which new frameworks appear, but "I find most developers are using one of two frameworks on the frontend (React and Vue) and almost everyone I know is using Express on the backend and I see that trend continuing.
"Improvements will be made and features added, but for the most part, I think the ecosystem has solidified to a point that you can reliably pick up a tool and know that it will be around for a while."
House expects changes to JavaScript will be relatively minor, mostly concered with implemented good ideas from other languages.
Looking further ahead, "People will increasingly use languages that compile to JavaScript.
"Today, TypeScript is a popular example, but we may see other more popular, higher-level alternatives in the future. And while WebAssembly is likely to grow increasingly popular in the coming years, it will continue to interface with JavaScript to get things done."
If you haven't started coding in JavaScript, Mills said "The learning curve of JavaScript is much lower than the typical enterprise languages of C# and Java so it is easy to pick up."
And according to House, JavaScript is "approachable, multiparadigm, and ubiquitous.
"There are multiple ways to accomplish a given task," he said. "You can code in an object-oriented or functional style. And since JavaScript has a C-like syntax, it feels familiar to people who have worked in other C-like languages."
To mark JavaScript's 25th anniversary, Pluralsight is making a series of its JavaScript courses available at no charge during December via its recently revamped JavaScript.com site.
The schedule is as follows.
1–7 December: JavaScript Getting Started, JavaScript Syntax and Operators, JavaScript Variables and Types, JavaScript Arrays and Collections, and JavaScript Proxies and Reflection.
8–14 December: JavaScript Generators and Iterators; JavaScript Modules; JavaScript Objects, Classes, and Prototypes; JavaScript Functions; and JavaScript Promises and Async Programming.
15–21 December: JavaScript Security: Best Practices, JavaScript REST APIs: Getting Started, Building a JavaScript Development Environment, Working with JavaScript Modules, and Cypress: End-to-end JavaScript Testing.
22–28 December: RxJS in Angular: Reactive Development, Learning Angular from Scratch, Angular Patterns & Best Practices, Creating a Living Style Guide with Sass and Vanilla JavaScript, and Uploading Files with a JavaScript REST API.
JavaScript.com is also holding special anniversary events including a live panel session on the state of JavaScript. The event is scheduled for 1pm US Eastern Time on 17 December, which we believe is 5am on Friday 18 December AEST.