What I am NOT:
What I AM:
Since I am old experienced, and I love talking / communicating, and I tend to connect with a like-minded people.
A lot of young folks - students, freshers, learners - have recently asked a lot of queries around javascript and related technologies.
Considering that I am not a javascript developer, I will be unable to provide in-depth details of these terms, however I will share "my" version of these.
Following are the key things that I would be rambling about:
TL;DR : Programming language, can run on client (browser) and on server (web-server)
JavaScript / javascript / JS = Is an "event-driven language" originally created for the browsers (or "websites").
"Event" is something that we do with mouse or keyboard (usually on a website), like "click" or "scroll" or "type something".
TL;DR : Javascript running on server (aka "backend")
Every browser is having a "javascript-engine" that runs the code written in javascript.
Internet explorer, Edge, Firefox, Opera, Safari, Chrome etc.
When "Chrome" was launched, they included a special engine of javascript, called "V8" engine - it was very fast [I might be wrong here, and yes, I am lazy as well]
The "V8" part was taken outside chrome, and used that to run javascript outside the browser to create different kind of apps.
The "environment" that was created (where javascript code could run) was a "run-time-environment" and it was named "Node JS".
Node JS is NOT a programming language, and is rather a "run-time environment", and the language that is used to write code that can run in such an environment is "javascript".
When someone says they are a "Node JS developer", basically what they are saying is that they are "javascript developers" - and since Node JS is usually used to run application on server side, and not on the client side (i.e. a browser), so a Node JS developer is a "backend" developer (the one who would usually *create* APIs).
Please note that the word "usually" is used often. Which means exactly that - "usually" - not "always" or "almost always" and rather "usually" - as in "most of the time, but not always" [I know JS people have varied levels of interests, which I may be completely ignorant about].
TL;DR : Javascript library, by Facebook, to create reusable-component-driven UI, to improve UX (aka "frontend")
Every developer writes code in their own way, including JS devs (Javascript Developers).
There are many challenges in writing code in javascript (for browsers/clients), and we'll focus on these 2 only (for now):
Making a website cross-browser compatible and responsive is a pretty big deal for any single/individual developer.
Here come the "help" in the form of various libraries and frameworks written by the best of the best.
React JS is one such library, developed by the guys at Facebook, that allows JS devs to make UIs for websites using "components", which eventually makes it easier (and consistent) for developers to focus on making websites cross-browser-compatible and responsive.
React JS is having a very large community of developers that has created a lot of components and tutorials, and other code-snippets, to help other developers.
Angular is another library/framework which does a similar job, in its own unique way, and is developed by Google.
Vue.js is another such framework which does a similar job, in its own unique way. It was created by Evan You, and is now maintained by him and the rest of the Vue core team and other community developers.
jQuery is another library which does a similar job, in its own unique way. It was the default choice for a lot of developers before Angular/React/Vue became popularised, around 6–7 years ago, and is now not preferred, but it is still the most used library on the internet.
Context : The javascript libraries of around 75% of the websites is “known”, and out of those 75%, more than 95% websites use jQuery. So, jQuery is a big deal, even today, and it does not looks like it’s share will go down anytime soon for the next decade or so.
TL;DR : It is a database, where data is stored, and queried. Similar to (not same) as Oracle/MySQL/PostgreSQL in terms of functionality. Dissimilar to the other databases in a lot of ways as well.
Mongo DB has nothing special to do with javascript.
People who tend to work in a specific tech-stack, usually use the same tech-stack for almost all of their projects, and name it something that can be easily referred.
People who work with Node JS (the "backend") often use MEAN stack
Mongo DB is the "database" as part of the stack, and people who use "javascript" often tend to use MEAN stack, so Mongo DB is their primary/default choice of DB.
Similarly, people who work in PHP (like myself) work in XAMPP stack, which uses "MySQL" as the default database, so MySQL is their primary/default choice of DB.
Explaining "Mongo DB" is probably out of scope of this article, and should be done by someone who has extensive (and correct) understanding of that.
Disclaimer : Although I am confident about what I have written, however, if you are a student/fresher and intend to move forward with learning/exploring any of the above topics, I strongly recommend to find some other articles/documentation/videos or any other kind of content created by respective subject matter experts, since my understanding of the above is based on reading/talking about these topics, with colleagues/friends/SMEs, and my knowledge may not be latest (if not wrong).