JavaScript: The Beginning (A Beginner's perspective)
Tags: javascript, beginners, webdev, programming
Published: 2022-11-16 19:55:20

> Every great developer you know got there by solving problems they were unqualified for until they actually did it - _Patrick Mackenzie_

As beginners, it is important to build our knowledge from the roots in order to have a solid foundation. 
I have decided to document my JavaScript journey on this space to get closer with other newbies and also have inputs from the more seasoned developers. 

In this introductory article, we will discuss the the creation of JavaScript, the process of development through the years and where it is today.

##**The Beginning**##
JavaScript is the programming language of the web and it's origin dates back to 1995 when the internet was becoming quite popular and webpages were looking too static and boring and needed fluidity and dynamics. Netscape's(now known as Moxilla) founder, Marc Andreessen asked [Brendan Eich](https://en.wikipedia.org/wiki/Brendan_Eich) to come up with a solution to the lack of dynamics on the web browser. In 10 days🤯, Brendan Eich developed JavaScript which was at the time, known as 'Mocha'. 

'Mocha' was originally intended to be a lesser complex language for the more informal programmers and designers to create and automate interactions on the web browser and also make websites more dynamic.

The name was later changed to 'LiveScript' in **September 1995**. The 'Script' meant it was a scripting language and not a real programming language compared to Java which was to be the complicated programming language reserved for real programmers to build the more complex big projects.

The Syntax of JavaScript is derived from Java, it's first class functions are from [Scheme](https://en.wikipedia.org/wiki/Scheme_(programming_language)), a multi-paradigm programming language and it's prototype-based inheritance is from [Self](https://en.wikipedia.org/wiki/Self_(programming_language)) which is a prototype based dynamic object oriented programming language.

##**Birth of "JavaScript"**##
The name 'JavaScript' was introduced in **December 1995** at a time when Java was quite popular among programmers and Netscape saw it as a good opportunity to clamp down on the booming success of Java. Hence, creating the name 'JavaScript'. Even though both are distinctively different languages. 
This has caused quite the confusion among newbies(myself inclusive), so I found out what some of the differences were.
You can check this [article] (https://www.thesoftwareguild.com/faq/difference-between-java-and-javascript/#:~:text=JavaScript%20code%20is%20written%20completely,on%20HTML%20documents%20and%20browsers.) for an indepth description of the differences.

![Differences between Java and JavaScript](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7rc5wptge9n55vj5mjtb.png)
<figcaption>Image from codingninjas.com</figcaption>

##**ECMA**##
At the time when Microsoft's Bill Gates created the internet explorer and it became the new wave, Netscape struggled to keep up with the Internet Explorer for market shares. Then Microsoft decided to create it's own dynamic language, **JScript**😏 which by the way was a _reversed-engineered JavaScript_. This just brought alot of confusion among programmers because the different JavaScript versions were not compatible with all web browsers. 

Soon Netscape saw the need for JavaScript to be managed and standardized. As a result, in **1996** Netscape submitted JavaScript's documentation to European Computer Manufacturers Association(ECMA) for standardization.

In **1997**, the TC-39 committee (Ecma International's TC39 is a group of JavaScript developers, implementers, academics, and more, collaborating with the community to maintain and evolve the definition of JavaScript) released the first standardized version of JavaScript(ES1) called the **ECMAScript**.

2009 - ES5, which is currently the standard version of JavaScript as it is supported by virtually all web browsers and is the easier version of ECMAScript to understand. 

2015 - ES6 was released with the biggest update to the language in years.

The most current version of the ECMASCript is the ECMAScript 2022 (ES13) released in June 2022. As this article is directed towards beginners, it's better to avoid the confusing details of the update.

##**JavaScript Today**##
JavaScript was initially a browser-only scripting language. Today, JavaScript is a widely-adopted general-purpose multi-paradigm programming language that runs literally everywhere (web browsers, web servers, mobile apps, desktop apps, IoT devices).
Nowadays, Other non-browser **hosting environments** have been developed, a very popular one known as **[Node.js](https://en.wikipedia.org/wiki/Node.js)**.

![Node.Js logo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/09fmi981xjl1s243fa4a.png)

Node.js is a cross-platform, open-source server environment Developed by [Ryan Dahl](https://en.wikipedia.org/wiki/Ryan_Dahl) . It runs on a [V8](https://en.wikipedia.org/wiki/V8_(JavaScript_engine)) Engine and executes JavaScript code outside a web browser. Node.js lets developers use JavaScript to write command line tools and for server-side scripting.
Another hosting framework is called [Deno](https://en.wikipedia.org/wiki/Deno_(software)), developed by the same creator of Node.js.

JavaScript frameworks and libraries have been created to ease programming steps as websites are now having more functionality and are more dynamic. 

A JavaScript framework is a collection of JavaScript code libraries that provide a web developer with pre-written code for routine programming tasks. 
JavaScript libraries are collections of prewritten code snippets that can be used and reused to perform common JavaScript functions. Examples include Examples are [Vue.js](https://en.wikipedia.org/wiki/Vue.js), [Angular](https://en.wikipedia.org/wiki/Angular_(web_framework)), [jQuery](https://en.wikipedia.org/wiki/JQuery),[Next.js](https://en.wikipedia.org/wiki/Next.js), [React](https://en.wikipedia.org/wiki/React_(JavaScript_library)).
We'll study these frameworks better as we progress in further articles.

JavaScript  has garnered so much fame because of its dynamic nature and tight-interaction with Document Object Modelling(DOM ) which we'll also discuss later.

---

##**You got here!💪🎉**##
Your being here means you interested on this journey with me and I'm hoping I did some justice in explaining the start. I've gathered much more information researching for this article than when i just read about it😅. I believe this is a good foundation for us as I learn to give out more useful coding information to you guys. **I hope you learned something new!** 

Thanks for reading!❤

All comments, additions, corrections and subtractions are welcome😊.
This week we code!💪