JavaScript, AngularJS, Angular, TypeScript, Node, NodeJS, npm…Confusing?

Bharat Mane
4 min readNov 15, 2021

Even after 20 years of coding, when my friend asked me to explain all of the above things to a non-technical person, I felt that there is a need to understand them better with clear distinctions such as scripting, non-scripting, language, framework, etc.

Any app that can be written in JavaScript, will eventually be written in JavaScript.
— Jeff Atwood

JavaScript

In September 1995, a Netscape programmer named Brandan Eich developed a new scripting language in just 10 days. It was originally named Mocha, but quickly became known as LiveScript and, later, JavaScript
If we take JavaScript from the equation of the web world, it’s like taking oxygen from it. HTML is great for creating static content but JavaScript provides life through interaction and dynamic content to the web page.

As it goge in the name JavaScript is a scripting language. We need to understand what’s the difference between scripting & non-scripting language

Scripting & Non-Scripting

Both scripting and non-scripting are computer languages. The basic difference between a scripting language and a programming language is that scripting languages are interpreted versus others are compiled before execution.

Javascript is a scripting language that make web pages alive

Language and Framework

To understand the difference between Language and Framework, think of the popular sport Cricket. If Cricket is the language, various formats such as Twenty-20, One Day International and Test Series are the frameworks.

With the above analogy, we can play any kind of cricket irrespective of format. We can even create our own format, only important thing is that we must follow the rules of cricket.

Similarly, we can create any program using a language as long as the rules of that language are obeyed. There’s no need to use any framework. However, if we follow the framework life would be much easier. For creating web applications using the Java programming language, some of the frameworks available are Spring, GWT, JSF, Struts, etc. If you are coding in Python, you can again choose from an array of web frameworks including Django, Tornado, and Flask.

AngularJS

AngularJS is a JavaScript framework. It can be added to an HTML page with a <script> tag. AngularJS extends HTML attributes with Directives and binds data to HTML with Expressions.

Angular

Angular and AngularJs share a number of similarities since Angular is an upgraded version of AngularJs.

Angular is a Typescript-based alternative to AngularJS. AngularJS, on the other hand, is written on Javascript.

In Angular, components play a huge role in building user interfaces. Each portion of the UI is defined as a component and then composed. In AngularJs, this is done using component directives.

AngularJs has a separate two-way binding feature which means less time and effort invested. Angular has a better structure which becomes crucial in enhancing the speed and performance of its operations.

Typescript

Typescript is a modern age Javascript development language. It is a statically compiled language to write clear and simple Javascript code. It can be run on Node js or any browser which supports ECMAScript 3 or newer versions.

  • It is a superset of Javascript
  • Powerful type system, including generics & JS features

For more information, please refer

Node & Node.JS

Node.js® is a JavaScript runtime built on Chrome’s V8 JavaScript engine.

NodeJS is just a cutesy name for Node. Node is an interpreter for Javascript, and Javascript files end in .js.

NodeJS is a cross-platform and opensource Javascript runtime environment that allows the javascript to be run on the server-side. Nodejs allows Javascript code to run outside the browser. Nodejs comes with a lot of modules and mostly used in web development.

Node.js/Node can be classified as a tool in the “Frameworks (Full Stack)” category, while TypeScript is grouped under “Templating Languages & Extensions”

The standard thing for JS tools is to call them ToolJS whether that makes sense or not.

For more information

NPM

NPM is the official Node Package Manager (it’s not the only one)

NVM

NVM is the Node Version Manager.

Other References:

--

--

Bharat Mane

I am a photographer, a runner, a cyclist, and an aspiring storyteller who happened to fall in love with coding and have the desire to be proud of what I do.