Altcademy - a Forbes magazine logo Best Coding Bootcamp 2023

What language is JavaScript written in

Getting to Know JavaScript

JavaScript is a high-level, interpreted programming language, largely known for adding interactive elements to web pages. But do we ever stop to think about what language JavaScript itself is written in? Well, that's what we're here to decipher today.

The JavaScript Paradox

Often when we talk about "what language is X written in", we're referring to the language used to implement the software or system. But JavaScript is a bit of a paradox. JavaScript engines like V8 (Google Chrome), SpiderMonkey (Firefox), and Chakra (Microsoft Edge) that interpret JavaScript code are written in C++, not JavaScript.

In simpler terms, think of JavaScript as a play, and the JavaScript engines as the actors. The actors interpret and perform the script, bringing it to life. The script itself (JavaScript) is written in English, but the actors (JavaScript engines) communicate and understand each other in a different language, C++.

Diving Deep with C++

To unravel the mystery of JavaScript, we need to understand a little bit about C++. C++ is a high-performance language that allows developers to have a high level of control over system resources and memory.

Below is a basic example of a C++ program:

#include <iostream>
using namespace std;

int main() {

  cout << "Hello, World!";
  return 0;

}

This short program is a classic example of a "Hello, World!" program in C++. When this program is run, it simply displays the message "Hello, World!" on the screen.

The C++ code that makes up the heart of a JavaScript engine is much more complex, but the principle remains the same. The JavaScript engine reads JavaScript, interprets it, and runs it on your computer or device.

JavaScript Engines and Their Role

JavaScript engines are like the brain of the JavaScript language. They read or parse the JavaScript code, convert or compile the code into machine code, and run it.

Consider a JavaScript engine as a translator. You may be speaking in a language (JavaScript) that the machine does not understand directly. The JavaScript engine, the translator, efficiently translates your JavaScript code into a language the machine understands (machine code).

Writing A JavaScript Program

Now, let's dive into a simple JavaScript program:

console.log("Hello, World!");

This one line of JavaScript code, when run in a JavaScript environment (like a web browser), will display "Hello, World!" on the screen.

Just like the C++ example, this JavaScript code is interpreted by the JavaScript engine (written in C++) and executed.

JavaScript and Web Browsers

JavaScript plays a vital role in modern web development. Every modern web browser has a built-in JavaScript engine that can interpret JavaScript code and bring web pages to life.

Imagine a web browser as a theater. The HTML is the stage, CSS is the set design, and JavaScript is the play being performed. The JavaScript engine, written in C++, is the director that ensures the play goes on without a hitch.

Conclusion

So, in a sense, JavaScript is like a language that talks to your web browser, telling it how to behave and interact. But the heart of JavaScript, the engine that makes it all work? That's written in a completely different language, C++. It's like a beautiful, complex dance where each partner knows just what to do. And at the end of the day, it's all about communication – between languages, between systems, between us and the digital world we're continually shaping. This is the beauty and paradox of JavaScript.