A Capsule Biography
(designer_start)[photo of coffee mug next to an open book, with text visible](designer_end)
Stephen Hawking’s bestselling book, A Brief History of Time, was followed up many years later by an updated version, A Briefer History of Time. This book was more concise, lavishly illustrated and written with a co-author, presumably to help convey its tremendously complex ideas in a way that most people would understand.
Whatever history of JavaScript you’re likely to have read, this one will be briefer. It’ll definitely be shorter than those thick tomes with hyper-realistic animal drawings on the cover (which aren’t actually histories, but I digress…).
But we do hope to outline the main points of its emergence, its evolution, and its eventual possibilities, taking some time to measure its impact on the internet, and society as a whole.
(designer_start)
(designer_end)
For JavaScript has not only evolved over its nearly twenty-five-year history, but has itself been an active agent in the evolution of the internet. And, by proxy, in the way that each of us views the world, filtered as our vision of reality is by these devices we’ve embedded into our lives.
Desktop computers, laptops, tablets, smart phones, and more. JavaScript runs all the time on all these things, in various ways.
JavaScript is bigger than any blockbuster movie, more widely read (so to speak) than any bestseller, and more viral than any ridiculous meme. JavaScript is everywhere on the internet, probably on this very webpage, on the webpage you clicked on to get here, and on the dozen other websites you’re likely to browse before your next meal. JavaScript, in a very real sense, IS the internet…or at least a great deal of it.
But how did it all begin?
In the Beginning
(designer_start)[photo of outer space: a nebula, a cluster of distant stars, a swirling galaxy, etc.](designer_end)
The origins of JavaScript are shrouded in mystery, dusty documents boxed away in some enormous warehouse whose location has been concealed and forgotten, buried in the swiftly piling sands of time.
Not really.
But how it came to be is not too commonly known.
We’ll skip over the mathematical-logical foundations laid by George Boole, Charles Babbage, and the even more distant mathematical achievements of the Ancient Greeks, the Egyptians, the Sumerians, etc. Maybe the Atlanteans had a proto-internet with something resembling JavaScript on their ancient websites? Or perhaps its functions were written in some of the books lost in the burning of the Library of Alexandria. But this is waxing mythological.
However, the creation of JavaScript was no less mythological, or at least miraculous, than any other great human achievement. And its ultimate success and continued proliferation are a testament to the ingenuity of its young creator. The serendipity with which the creative act synchronized with the world to meet its receptive audience is truly something to ponder.
Every creation has a creator. And the creator of JavaScript is a man named Brendan Eich.
The Creator
(designer_start)[photo of Brendan Eich, creator of JavaScript](designer_end)
Before we get to the creation of the thing itself, let’s take a moment to learn about its creator: Brendan Eich.
Brendan Eich was born on July 4, 1961 in Pittsburgh, PA. He studied mathematics and computer science at Santa Clara University, and later received his Master’s Degree from The University of Illinois at Urbana-Champaign.
Brendan would apply his extensive knowledge of mathematics and science to craft a highly malleable programming language that would change the face of the internet. In some ways, JavaScript would actually give a face to the internet, since before it emerged on the scene, the internet was largely text. One long, endless scroll with nothing but symbols and maybe some static images.
Born on Independence Day, Brendan Eich would give the internet user a new sense of independence from the static webpage, with the introduction of JavaScript.
It may take ten-thousand hours to become a great performer, or an expert in some specific field of study. And Brendan no doubt logged-in these requisite long hours of deep practice.
But sometimes to make something great, you only need ten days.
How to Make a Script in Ten Days
(designer_start)[photo of a pile of papers, messily arranged on a desk](designer_end)
It was the mid-nineties, the age of Apple and Microsoft, Dilbert and watercoolers.
Brendan Eich found himself working at Netscape, an internet browser startup in Mountain View, CA, in the midst of the browser wars.
He was hired by Netscape in February 1995, having turned down an initial employment offer a year beforehand. But he was to make a quick impact once he got there, and change the landscape of Netscape. Only three months later, in May, he would be commissioned to create one of the most influential programming languages of all time.
(designer_start)[photo of AOL/Internet Explorer/Netscape logos](designer_end)
From AOL to Microsoft Internet Explorer to Netscape, there was serious competition to see who would end up dominating the web with their particular web browser. It was by no means certain who would eventually conquer and reign supreme.
And so these products had to come to the stage fast and establish themselves as quickly as possible. And in this furious forge of fast-and-ready creation, JavaScript was formed.
Brendan was set to write a script to accompany the Netscape browser. Something that would be easy to use and immediately interactive.
During the process of its creation, in those brief ten days, Brendan got by on very little sleep, and he saw the process as something of a rush job. But if it was a rush job, it was a rush job well done.
These ten days had an effect so consequential that their creator could not possibly have guessed it. But, by some quirk of fate, he did.
“It [JavaScript] would either die quickly…,” Eich said to a coworker of his at the time, presumably in jest, “or it would be around for twenty years or longer.”
Prophetic words indeed.
In a brief stint of ten days, Brendan Eich cobbled together the seed of the programming language that would grow into a tree larger than he, or anyone else for that matter, could ever conceive.
And despite this heated competition, JavaScript would eventually find itself crossing borders, and implanting itself in every possible browser, which would have to reckon with this script that spread itself seemingly everywhere. Like dandelion seeds scattered to the winds, JavaScript planted itself everywhere it landed, there to embed itself in the fabric of the internet browsers we use to this day.
(designer_start)[photo of a huge tree, looked at from below](designer_end)
JavaScript exploded from there, and grew to unprecedented heights, simultaneously digging its roots deep into the matrix of the virtual world. It has become the World Tree of the World Wide Web, the Yggdrasil of the Internet. Almost all of our activity on the web takes place beneath its capacious boughs.
Chances are good that you’re reading this article on a smartphone. And chances are even better that JavaScript is somehow running on this page.
You can’t get away from it.
And he made it in ten days.
This feat has a legendary aura surrounding it, something that increases its power in the telling.
It makes one wonder what else can be done in ten days that would have a similar effect upon the world.
That oft-repeated saying, that we only use ten percent of our minds, rings somewhat true in light of what Brendan Eich achieved. If only each of us could use ten days so effectively, so efficiently, at least once in our lives.
But back to JavaScript.
JavaScript Enabled
(designer_start)[image: bags of coffee beans, beans spilling out of the bags](designer_end)
The overwhelming majority of websites (over ninety percent, according to some estimates) use JavaScript to display their interface, and enable countless options to appear for the user’s convenience.
Although there are so many things that JavaScript enables users to do, here are just a few of the more salient ones:
- Audio and video components
- Display more dynamic images
- Enable animated page functions
- More visually appealing and interactive buttons
- Embedded calculators
- Data forms with convenient value inputs
- Games
JavaScript allowed more complex visual elements, that paradoxically made it easier for the user to navigate a webpage. It opened the way for Flash, Dart and other more interactive options. But JavaScript was the first to activate this interactivity.
The regular webpage came to life with the introduction of JavaScript. Elements could be made to fade in or out, receding into the background or being brought forth. Buttons and sidebars could be adjusted, resized, or moved, to fit the web user’s specifications.
Entry boxes could be embedded into the page, allowing users to more easily contact you, or input variables in a quick and easy-to-navigate way.
Instead of keeping the screen a read-only interface, the user could now participate in the whole process. This made browsing the web a more active experience, separating it further from the more passive media like television, movies, and books.
Before JavaScript came along, the internet consisted mostly of text files and static webpages. An endless sea of words, no different, essentially, from a pile of books or documents – except that it hurt your eyes a bit more to continually stare at the screen.
JavaScript is used a lot in social media platforms. Facebook, Instagram, Twitter, et al. utilize the language to enable their users to more easily navigate their services.
And with the addition of Flash, Dart, REACT, and other new web options, the internet has really become a very dynamic place.
But it all really started with JavaScript.
JavaScript Does Not Equal Java
(designer_start)[photo/drawing of a Javan Rhinoceros, surrounded by question marks](designer_end)
JavaScript has virtually nothing to do with Java. The latter language used to be far more popular and more widely prevalent, but has ceded its place to other, more functional coding vehicles. And yet JavaScript remains. But despite their similar names, JavaScript has nothing to do with its elder brother.
It was named JavaScript to associate itself with the then-more-popular programming language, a sort of advertising gimmick, that has, unfortunately, stuck. But, as it turns out, JavaScript seems to have written Java itself out of the script. You can hardly find any trace of Java left on the web.
Brendan Eich compared this to the sidekick becoming the superhero, or Robin replacing Batman. Java is no longer in the game, but JavaScript is still changing the game.
What’s in a Name?
(designer_start)[the word ‘name’ in different languages scattered about: nombre, nomen, nom, onoma, etc.](designer_end)
JavaScript was not always called JavaScript. It went through a few changes:
- First, they called it Mocha.
- Then they called it LiveScript, which supposedly sounded more active, snappier, livelier.
- Then they named it JavaScript, at last, for the aforementioned advertising purposes.
- Finally, ECMAScript became its official, canonical name.
…though everyone still calls it JavaScript to this day.
NOTE: You can tell that programmers were inspired by the numerous cups of coffee they had to drink, working those long hours.
Though it has been officially standardized as ECMAScript, the more popular moniker “JavaScript” remains for some reason. Maybe because it sounds more appealing, or perhaps because it brings to mind the aura of those days gone by, those early days of the internet when Java still prevailed.
So it goes.
The Customer is Always Write
(designer_start)[photo: a laptop computer on a table](designer_end)
JavaScript is a client-side script, which means that the processes are loaded on the receiver’s end, the web browser, not on the server-side. Instead of the chef preparing a meal for you, the ingredients show up on your table and assemble themselves into a meal (so you still don’t have to cook the meal yourself). This gets the information out as fast as possible.
NOTE: JavaScript can also be used as a server-side script, too. Things aren’t always exclusively one thing.
The user can also access the JavaScript code, to see how the webpage effects are enacted. This gives the language an egalitarian air, a sense of openness.
JavaScript was meant to be a far more user-friendly programming language than the others that came before it. Something that could be used by non-programmers, website designers, artists, and basically anybody who wanted to premiere their products or publish their personal pages on the internet.
They could embed their pages with more dynamic images, animations, and other interactive features. You didn’t have to use a compiler to code with it, and that freed up many more people to use it.
It was easy for even beginners to program with and to customize their websites and spring a new freedom in their web interface.
It was fast, easy, and fun.
But therein lay some problems.
Permutations of JavaScript
(designer_start)[a graph listing the various versions of JavaScript/ECMAScript; or an abstract line graph, depicting various changes](designer_end)
I will briefly mention the various versions of JavaScript, otherwise known as ECMAScript, which have been released so far, along with their pertinent updates.
NOTE: items in quotations have been taken from the ECMA official website, https://www.ecma-international.org/ecma-262/9.0/index.html#Title.
- (1997) ECMAScript, 1st edition
- This is the original version, which was standardized by ECMA.
- (1998) ECMAScript, 2nd edition
- The changes made to this update were largely “editorial in nature.”
- (1999/2002) ECMAScript, 3rd edition
- Updates were mostly “minor changes in anticipation of future language growth,” preparing for the eventual permutations the language would take on.
- (Not completed) ECMAScript, 4th edition
- This version was not completely released, but “some of it was incorporated into the development of the sixth edition.”
- (2009) ECMAScript, 5th edition
- Updated with “added support for new features that had emerged since the publication of the third edition.”
- (2015) ECMAScript, 6th edition
- This edition incorporated “better support for the large applications, library creation, and for use of ECMAScript as a compilation target for other languages.”
- (2016) ECMAScript 2016
- This update addressed “thousands of bug fixed, editorial fixed and other improvements.”
- (2017) ECMAScript 2017
- This version included “library enhancements, bug fixes, and editorial updates.”
- (2018) ECMAScript, 9th edition
- The latest version “introduces support for asynchronous iteration,” along with “minor updates, editorial and normative,” from their “awesome community.”
A more detailed explanation of each version, and especially the current one, can be found on the ECMA website (link mentioned above), from which this information has been gathered.
I mention these to give a brief glimpse at the constant, dedicated updates that have allowed JavaScript/ECMAScript to stay ahead of the game, and adapt to the changing internet and user needs. JavaScript is a language that keeps up with the times, and continues to improve, never content to stay in one place for very long.
Problems, Open and Closed
(designer_start)[photo of computer monitor, with code displayed – most of it green, but a portion of it red, highlighting a possible danger](designer_end)
The internet has opened the world up to its many users, having given us a grand platform to wander about in, to learn about this and that, and explore subjects that we never before considered.
But it has also opened users up to the world, exposed the travelers to the dangers of the wasteland. Malware, advertisements, malvertising, viruses, and more.
Now that the road has opened up to us, and we are well aware (or at least slightly more cognizant) of these perils, internet privacy has become a crucial issue for each and every one of us. From the companies we work for, to the deeply personal information we (try to) keep safe on our computers and phones, our security is of the utmost importance.
Renewed attention is being given to privacy and data integrity. This does not necessarily mean a closing off of the infinite possibilities the internet holds for all, but merely the bolstering of the vehicles we use to travel these roads.
JavaScript has allowed us to embed so many features into our webpages, and view animations, videos, images, etc. But these components can leave cookies, and hidden in these cookies are ingredients we may not have ever suspected of being baked into them: the aforementioned malware, viruses, tracking elements, etc.
Inventions have unintended consequences. Especially something that was made in ten days and spread so quickly and so far.
Enter Brave.
Brave New World
(designer_start)[photo of a jeep driving on a desert road](designer_end)
Brendan Eich unleashed JavaScript onto the world, for people to use as they deem fit.
In an attempt to remedy some of these unintended consequences, Brendan and his colleagues has in recent years started the company Brave. With this new endeavor, he intends to restore privacy to the internet, and make it a safer place to explore.
Brave, his new internet browser, is a bold, new venture, poised to change the browser market. A seemingly impossible task, you might say. But such a feat was accomplished before, in 2005…by Brendan Eich and his colleagues at Mozilla.
We live in an age of rapid, constant change. And many of the inventors of these foundational technologies are still among us and are doing extremely innovative work, not only building on their past projects, but creating absolutely brand new ones.
Brendan Eich is one of these creators.
Will JavaScript Persist?
(designer_start)[photo/graphic of the DNA Double Helix](designer_end)
And until the internet morphs into an absolutely new creature, JavaScript will remain in its DNA. Whales retain their vestigial hindlimbs, after all.
Some say that the internet has replaced physical reality, but such a thing is rather silly. But it has certainly extended reality, enhanced and detracted its many dimensions, found a way to stretch the boundaries of a plastic-metal square.
Like Borges’ Aleph, to which it has often been compared, the internet offers an infinity of options in a very small space. And if you look into the Aleph and see a slew of images in rapid succession, you can thank JavaScript for having enabled this feature, among its many other additions.
There’s much talk about augmented reality these days, though people forget that the internet is already here as the augmented reality. And JavaScript was and is the augmentation to the augmentation, an enhanced enhancement, a more interconnected internet.
“There’s something like successful DNA about JavaScript,” Brendan Eich said. “Once it’s in there, you’re going to have a hard time getting rid of it.”
Future Features
(designer_start)
(designer_end)
Watching this video is inspiring.
The presenter demonstrates so many extremely cool things that one might not think JavaScript can do.
From three-dimensional models that demonstrate evolutionary theory in action (that looks superbly fun, by the way), to creating instantly generated 3D worlds, it’s simply astonishing. Seeing the custom lit-up building is awesome to behold.
Like any language, verbal or virtual, JavaScript has no real limits and can be made to suit the user’s needs in a manifold, nearly infinite number of ways.
And Opher demonstrates that it really is a creative medium, a virtual paintbrush for the artist to create new effects on the screen, that can spill over into our more mundane reality.
Learning about the amazing things that JavaScript can already do, given the current state of computing, shows us that the future is bright, and fast, and endlessly promising. JS will no doubt continue to make a huge impact.
It’s often said that you shouldn’t bet against JavaScript, and I think that’s correct. There are so many things it can do now. One can only imagine what fantastic things the future holds for this programming language, and what it will reveal to us.
It’s simply awesome.
And in the End
(designer_start)[photo of earth; maybe an animated gif of a rotating earth](designer_end)
Perhaps we’ve exaggerated the tremendous impact that JavaScript has had on the world. But that is not so. The internet is part of the world, a driving force, a channel to unknown, yet uncharted seas. And to sail upon those endless waves we need a vessel to carry us forth. It does not need to be perfect, it does not even need to be pretty.
But it does need to move us forward. Onward, always searching for the new.
Thinking upon a programming language for an extended period, makes one realize that the very words we use are also a program of sorts. And just as we can reconfigure the virtual world to our desires, so can we change this world, too. And be changed by it as well.
The figure of Brendan Eich, among the other heroes of Silicon Valley, of any valley through which one passes into some place hitherto unknown – these heroes and heroines deserve our attention, simply because they have so much inspiration to impart.
The world is far from boring. And JavaScript is one of the many amazing components that can shake up our day-to-day dullness, and make browsing even the most perfunctory website easy, pleasant, and maybe even fun.
JavaScript can do so many things, and allow us to do so many things with it. It has survived these past two and a half decades, and will surely keep moving forward along with the world. Or pushing the world forward.
Not bad for something made in ten days.