C++ for Javascript Developers

With the arrival of Node.js couple of years ago and now, WebAssembly, it’s clear that learning C++ is the next step for any advance web developer.

If you are as a JavaScript developer wondering why would you even want to learn C++, there are many reasons for that. You would be able to understand V8 and libuv (event-loop), you would be able to write native C++ modules for Node and Electron and generally, learning new programming languages should be something you do at least to enforce your existing knowledge, get new ideas, patterns and paradigms.

Nevertheless, in those series “C++ for JavaScript Developers” I will try to map some of the C++ features to what you already know in JavaScript and explain those concepts in such way.

The idea of those series is to get you up and running with C++ in quickest way possible by exploiting your existing knowledge. Also, those series will not teach you in top-bottom approach e.g. starting from “what is a variable” or anything like that.

Keep in mind that prerequisite for those series are pretty advance so if you are a beginner programmer, those series are probably not for you, even though, don’t hesitate to give it a try and decide that on your own.

Also, beware that I will be very loosely comparing things and saying “they work almost the same” etc. Keep in mind that C++ and JavaScript are fundamentally completely different languages, used for solving different problems, that being said, when I do those comparisons, I do not in any way get under the hood and compare implementations of those languages but mainly “map” one feature to another and show their practical similarities.

I do this mainly so you, reader, can easily adopt C++ and understand its features based on your JavaScript experience, mainly because most programming languages share many similar traits which are often presented in a different way e.g. with a different keyword but have the same intent.

JavaScript as as language is continuously inheriting ideas from other languages (Ruby, C++, Python, C#) and as such, its features and ideas align with many of the mentioned languages and very often, you will find similarities if you try to learn those languages.

To give you an idea, ES6 let keyword was taken from Python, arrow functions were taken from CoffeeScript and naturally, TypeScript inherited most ideas from C# (Microsoft khmm khmm). There are many other examples, those were just some I could think of at this very moment.

In the upcoming days, I will start covering all C++ concepts in separate articles so stay tuned, subscribe to my page and prepare to learn some C++.