No, NodeJS is not a language!

NicolasBrondinBernard

Author
@NicolasBrondinBernard

What is the difference between a language and a runtime environment?

Article published on 30/07/2020, last updated on 09/08/2026

This article is also available in audio version!

We often see it appear in CVs or portfolios "Languages: Javascript, NodeJS,..." and even though the confusion is understandable, it's important to understand the true nature of NodeJS.

So I'll repeat it: No, NodeJS is not a programming language.

NodeJS is a runtime environment for running Javascript code outside of a browser. This environment is open-source, cross-platform and mainly used to run server-side scripts.

Its growing popularity, especially among junior developers, comes precisely from the fact that developing server-side scripts no longer necessarily requires learning a new language, but rather reusing a language already known and used on the front-end.

Its origin

In 1996, Netscape, the publisher of the famous web browser, launched "Netscape Livewire", the first attempt at a Javascript execution engine outside the browser, unfortunately this one would never meet with success.

Two years later, Netscape would launch Rhino, its Javascript engine entirely developed in Java which allows (even today) compiling JS into Java Bytecode and generating the corresponding classes.

But it wasn't until 2009 that Ryan Dahl wrote the first version of NodeJS, with the aim of overcoming the technical constraints of the Apache web server, notably its inability to handle more than 10,000 simultaneous connections.

How it works

NodeJS is written in C++, based on the V8 execution engine (open-source, developed by Google) and implements an event loop as well as a low-level input/output API.

I hope it hasn't escaped you that a script executed by NodeJS therefore does not have access to the APIs of a typical browser (window, localStorage, etc...)

The fact that it is based on an event-driven architecture and that it is capable of handling inputs/outputs asynchronously allows it to handle very fast data flow and be optimized for real-time systems.

Handling concurrent requests is therefore much better than Apache's, here's the proof, however the fact that it is limited to running on a single thread (a virtual sub-core of the processor) doesn't allow it to be very performant on heavy computations (no parallelization).

Note that NodeJS is ONLY capable of running Javascript code, if you want to use it with TypeScript for example, you'll need to go through the TS compiler beforehand.

An alternative?

In 2018, NodeJS creator Ryan Dahl announced that he was working on a new Javascript execution environment called "Deno", meant to fix the mistakes he regrets having made when creating NodeJS.

Its version 1.0 was released on May 13, 2020 and is available here: https://deno.land/

A few differences:

  • Deno is written in Rust
  • Dependency management is built-in and not delegated to a third party like with npm
  • Typescript is natively handled by Deno
  • A standard library is present to offer development based on official, tested and reviewed code.
  • ...

For now we're still far from seeing applications running on the Deno environment but the project deserves attention regarding its future development!


NeONBRAND sur Unsplash

Finished reading this article?
Our complete courses
Take it to the next level with our courses!

Complete courses, exercises and certificates to really learn programming!

4.8 average rating

Comments (0)

to leave a comment

No comments yet