If you’re a new programmer and just starting out on your journey to learn how to code, you have probably heard about JavaScript and C++. What most beginners confuse is which is harder. Mainly because they don’t understand enough about one or both languages. Is JavaScript harder than C++ or is C++ harder than JavaScript?
While most professional programmers will tell you that C++ is more challenging to learn than JavaScript, it isn’t quite that simple. In this article, I am going to talk about why C++ is generally considered more difficult than JavaScript and why JavaScript is actually still harder than C++ in certain domains.
Why C++ Is Harder Than JavaScript
Most people would agree that generally speaking, C++ is a more difficult language to learn than JavaScript. It is easier to understand why if you know anything about a concept called abstraction. If you haven’t heard about abstraction, I cover it in this article.
By understanding abstraction, you will understand that C++ is “closer to the metal” than JavaScript. This quote means that C++ can more easily communicate directly with a computer. It is interpreted by assembly languages and is converted into machine code.
C++ lies in the middle of the abstraction hierarchy. This means that C++ code must be easy for both a human and a machine to understand. There are trade-offs between the two readers so that the other can better understand.
On the other hand, JavaScript was built at a higher level of abstraction and had the purpose of being an easier language for humans to read than C++. Much of the boilerplate code in C++/C is stripped away in JavaScript. Allowing you to write code faster and more easily.
Even despite readability, ultimately C++ is also harder than JavaScript to learn because there are many more aspects of the language that you need to master. The syntax needs to be more precise, you have to write more code, you need to understand static type systems, garbage collection, and much more.
Much of what you need to do in C++ has been abstracted away in JavaScript and for that reason, JavaScript is a much easier language to learn.
If you want more proof, ask a JavaScript developer to learn C++ and they are going to face a significant learning curve. Ask a C++ developer to learn JavaScript and they are going to learn very quickly.
Why JavaScript Is Harder Than C++
The syntax of languages is not the only factor to consider when deciding if one language is harder than another. The environment that you write in matters equally as much.
I believe that the environment that you write JavaScript makes JavaScript a much more challenging language to learn. Specifically, if it is your first language.
To give you an example, the first programming language I ever learned was C back when I was in university. While I found the course challenging, the actual projects I built gave me a good grasp of what programming really was.
If you build a basic game like rock paper scissors in C++, you use only that language to create the game. It makes it obvious exactly what programming is and how programming logic works.
In contrast, when you learn JavaScript, you are usually learning it in conjunction with HTML and CSS. This means you are now learning two other languages while learning JavaScript and also a bunch of web development topics such as DOM manipulation, frameworks, HTTPS/2, APIs, databases, backend languages and so much more.
As someone who started learning web development with only a fundamental understanding of programming, I know this can be extremely intimidating and difficult to wrap your head around all that information.
Does this mean you can’t learn JavaScript on its own? Of course not, but the language only really shows its strengths in the realm of web development. So learning it outside of this environment is less beneficial.
With that being said, if you want to be a web developer, I do strongly recommend learning every aspect of JavaScript that you can. This is a great course to do so.
Wrapping Up
So that’s pretty much it! Is JavaScript harder to learn than C++? I wouldn’t say so. However, both are very challenging to learn for their own reasons.
C++ has a much trickier syntax than JavaScript. The developer must also be knowledgeable in a range of topics such as garbage collection, static type systems, object-oriented programming, and much more.
JavaScript on the other hand is almost always paired with learning about web development. Which is a very large topic that could take years to fully wrap your head around and understand.
Hopefully, this article cleared up some confusion around which language is harder to learn.
Are you new to programming and want to learn web development? I put together an extensive list of free resources here.
If you’re studying for coding interviews, check out what the best language to learn is.
As always, happy coding!