DEV Community

Cover image for A History of Javascript and its evolution
404answernotfound
404answernotfound

Posted on

A History of Javascript and its evolution

And here we are with another brand new episode of 404answernotfound Podcast. We just got back from an amazing conference in Verona about Javascript and I just couldn’t hold this episode anymore.

Link to Podcast episode

Before we start delving into today’s topic: yes, this is still a techy podcast but I do love talking about how things work and how ideas and topics came to be in the first place so, here we are.

Javascript”, “EcmaScript”, “The thing you program the web with script”. Lots of names, a single history to be told and that’s exactly what we will do today because today, it’s all about Javascript.

I’d also like to have a shoutout for the amazing people at Grusp, a community that organizes tech events in Italy and online. Check them out on their website https://grusp.org/. This was not sponsored in any way by them, I just love their work!

My name is Lorenzo and I welcome you again to 404answernotfound Podcast. And now, let’s go ahead and start this episode.

Podcast Intro

Welcome to 404answernotfound, a podcast about the latest technology trends and innovation in the software engineering field and so much more. I am Lorenzo, your host, digital techy nerd creating content for probably unexistent listeners and readers, and a finder of problems to known solutions.

This podcast is hosted by 404answernotfound.eu so if you are interested in technology you should go and check out our new blog posts and see if there’s anything to your liking!

So, we’ve been using it for quite some time now, and each and everyone of us users of this language can go and getElementById any time we like, which is cool, but how much do we know about the history of this language?

Welcome again to this brand new episode where we talk about Javascript History and how it became the language we all love and hate today!

Let’s start with a question. How many days would it take you to develop a new scripting language? That’s one of the things that can make you go mad about Javascript.

Javascript was born out of necessity and marketing from the great mind of Brandan Eich, a Netscape programmer, that created it in just 10 days.

For those of you who are unaware of what Netscape is, it used to be the most used browser of all time back in the 90s, before Microsoft came knocking with Internet Explorer and opened up the market for all the players we have now on the field.

But back to the topic at hand, as we were saying, Javascript was born from a relatively small time effort (again, 10 days) and was at first called Mocha. Lovely name.

Later on it would go and be named “Livescript” and “Javascript”.

As many of you might have wondered, does Javascript has anything to do with Java? The name seems to imply so.

Well, it doesn’t technically but it used to be connected to Sun’s Java language as Netscape felt its market shaking upon entry by Microsoft with its very own Microsoft Explorer. You might not like it now, but back in the day it used to be a good and new browser.

When that happened Netscape thought it necessary to bring on an alliance with Sun Microsystems, who was in 1990 developing Java. Sun’s apparently wrongly thought of Javascript as just a mean to make its own ecosystem stronger, what no one could predict was that this language, which had little to no big usages at the time, would become what we know today as “The language of the web”.


That’s when it happened. Java would be to the computer what “Javascript” would be to the scripting environment of the browser.

It was 1995 when Eich created what today is, arguably, the most used language in the tech world.

What started out as a browser turf war spiked engineering life onto new tech and language possibilities.

The start wasn’t all that good: Javascript was mostly used as a UI glue to be used by designers or engineering teams but it didn’t have all the capabilities we are so much used to today.

A good choice was that made by Netscape to hand over the standardization to a third party body that would allow for the flourishing and engineering advancement of the language of the web.

In 1997 the standardization process for Javascript began as it joined the ECMA family, thus becoming ECMAScript. It had many revisions and changed quite a bit over the years to become what we are using today.

Now, if we were to search for naming issues in the Javascript language and what came out of the standardization, we would probably go mad because it goes from version 1 to version 6 to version 2015 and back to version 7 and so on. Now, this is starting to look like a joke but JS did bring some naming issues on the table. Not that it matters that much, but it does help to know which version is which when we have to choose our next compilation runtime, doesn’t it?

What’s useful to know is that now the versioning of ECMAScript aka Javascript, has abandoned the previous counter to use the “year of release” counter as versioning. As such, what we know as ES6 is really ES2015.

Will this change our ability to use Javascript in our best interest and knowledge? Of course not, but it’s always useful to know where the language is going, isn’t it?

I think that Javascript did a really good job at becoming the standard and de facto language of the internet.

On its own, Vanilla Javascript (the javascript without any libraries and frameworks to change its usability), is not so bad now. With just a few methods and properties we can have total control over browser events and the DOM.

It used to take 20 lines of code to do an XHR request, now lots of people don’t even know what XHR is! And it’s good! We call it Fetch now! The Fetch API!

What about server-side programming? You had to know at least 4 languages and 1 database to be a full stack developer. Now, all it takes is Javascript done right!

Front End? Javascript

Back End? Nodejs, which is Javascript

Databases? Any ORM with Javascript, like Sequelize, TypeORM or my favorite one, Prisma!

What we must be thankful about is surely the amount of ideas, concepts and actual work done by the community around Javascript.

Every day new libraries, frameworks and command line interfaces are born. Every day you get a mix of components that create an entirely new way of programming.

If you are a cook or a food lover, and as an Italian I definitely am, you should know that it’s not just about the ingredients (which need to be really good) but it’s also about the chef, the concept behind the plate, the presentation of the plate and how all the flavors blend together to create the expression of art. Maybe I went a little too far with this example but it does have a point.

Whether you are new to javascript or to programming, whether you are a seasoned developer with experience in other languages or a professional with Javascript and all of its features, one must acknowledge the fact that Javascript is ever changing, evolving also based on the community and also an expressive form of programming art.

So, a good question that any developer new to Javascript usually asks is: where do I start?

Well, I’d advise anyone to start with the basics and if you are already a programmer in other languages, statically typed or not, it might take you a few hours or a few days, depending on your experience on the subject.

The beautiful thing about programming paradigms is that most of them time, if you are experienced enough, you can glance into another language and have an idea of what is happening behind the curtains.

As an example: I am not a Swift connoisseur but if you ask me to read a Swift program, I can probably get something out of it, even without knowing the language. That’s because quite a few modern programming languages all comes from the same roots, or C-like languages, if you will.

But let’s for a moment pretend we have no experience whatsoever about programming, at all. If that is the case, and it can be for someone, Javascript can seem a little bit daunting.

Why, you would ask, would a language built for “everyone” be daunting at all? Well, there’s good and bad in having the biggest tech community ever: everyone gets a say, everyone contributes, everyone can bring something to the tech table. For a seasoned and experienced developer this sounds like a good thing and it is, but at the same time, if you were to not know anything about programming or web programming AT ALL, wouldn’t it be kind of too much to handle?

So, back to pretending we don’t know anything about programming, let’s delve into it:

“How do I start programming for the web? How can I build my own app?”

Billions of pages come out of any search engine search if we are to look for results based on our query, the request we just phrased. Almost 2 billions results by asking “How to build a web app”, and I’ve been practical about it cause I specified that I want my app to be for the web.

If we were to take away the “web” keyword, the results would amount to 4 billions.

I’m sure that can look intimidating for someone approaching the web programming world for the first time.

Not only that! Let’s say you managed to learn the basics, now everyone around you is shouting about the strength of one framework or library over the other!

“It’s react! It’s react!” - shouts the front end developer

“No, it’s gotta be Vue!” - says the other front end dev

“Ahm, guys, Angular has definitely more impact and has all the features you need built in!” - screams another afecionado

Truth is, the world of devs is full of people with preferences and they are more than happy to talk about them, advocate their choices and build communities around them. That’s why Javascript is evolving and changing so fast. That’s also why sometimes Javascript can seem a little bit puzzling in some choices.

So, to answer the question that started this discussion: there’s no easy way. But there is a simple one. Read the docs, talk with people, check out project implementations and see which one suits you and your programming way so that you can enjoy using the language and its features, along with frameworks and libraries.

Don’t go with React just because anyone is, go with React if you enjoy it. Make the technology work for you, not the other way around.

Top comments (0)