DEV Community

Cover image for Why Javascript has to be slower than C++
Royal Jain for CodeParrot

Posted on

Why Javascript has to be slower than C++

The primary reason is that javascript is an interpreted language

Interpreted vs Compiled languages

JavaScript is an interpreted language, meaning the code is executed line-by-line by an interpreter at runtime. In contrast, C++ is a compiled language, where the source code is translated into machine code before execution. This means

  1. Additional overhead while running
  2. Compiled languages can perform lot more optimisation before runtime like when to do memory cleanup

But why Javascript has to be Interpreted

Security

As a language primarily used in browsers, executing in a sandboxed environment, being interpreted adds a layer of security. It's easier to impose restrictions and monitor executed code in an interpreted language.

Rapid Development

For web development, the ability to write code and immediately see the results in a browser is important (what would you do without hot reload :( ). Adding an additional compilation step would mean rebuilding the entire app. Interpreted language fits well into this rapid development cycle, allowing developers to quickly test and modify their code.

Platform Independence

Being interpreted allows JavaScript to run in any environment with a compatible interpreter, such as different web browsers. This is crucial for a web scripting language, as it needs to operate consistently across various platforms and devices. C++ needs to be compiled separately for each target platform

Dynamic Features

JavaScript was designed to be a flexible and dynamic language, with features like dynamic typing. If you've used any type in typescript you know exactly why we like dynamic typing. A compiled language needs to know the exact type of each object before runtime. An interpreted environment is more conducive to these dynamic features, as it allows for on-the-fly execution and changes.

So, while Javascript is a bit slower it works well for the use cases it's designed for. And that what's programming is about - right tool for the job

Top comments (0)