Should you Learn C++ in 2021


Web Hosting Company Pays for your Web Design Training!



Full stack web developer course:
Python 3 Foundations & Certification:
Complete Freelancer:
Complete Entrepreneur:

Beginners HTML5, CSS3:
… Complements Studioweb courses on HTML5, CSS3 and JavaScript.

After you’ve coded 2 small projects:
Refactoring: Improving the Design of Existing Code (2nd Edition)
HeadFirst Design Patterns:
Java Refactoring: Improving the Design of Existing Code (1st Edition)

Stef’s social links:

Stef’s business channel:

👉 Leave a Google review about Stef.

Godox VL150 lights:
Sigma 18-35 lens:
Canon C200 Cinema Camera:

Logitech Keyboard I use:
Logitech mouse I use:



#developervlog #c++

35 thoughts on “Should you Learn C++ in 2021

  1. I found myself all over the place with JS. I learned C++ first and it just seemed more structured and the flow seemed just right. That's my opinion but I'm still thankful to have been exposed to web development.

  2. learn one lenguaje that fits everything.. that is C++…
    C++ is like an omnipotent and omnipresent languaje you can use it for everything you can imagine… every home, every people needs C++… buy your one..

  3. You admitted to not writing a lot of C++ so I'm going to give you the benefit of the doubt and try to be verbose:

    I have been writing big commercial code in C++ most of my career and I respectfully have to disagree with some of your points. The "you have to manage your memory" point is one from a long time ago, if one writes C++ code using lots of naked pointers like one would in C, it is that way, yes. But few people do that anymore. C++ has modern features that make manual memory management mostly unnecessary… as long as you somewhat understand what CAN be done and how it works. For instance: I saw a newbie This Week that screwed it up, but he's inexperienced and was using the wrong tool for the job. When we were done there was no memory management left, the code was smaller and cleaner, and viola his bug was gone too. That is perhaps the biggest thing: C++ has not just some tools, it has all the tools, and some tools require skill to wield correctly…. Bjarne explains this as an onion model: You should be able to use the high level abstractions easily, but you can always peel a layer back and move closer to the hardware… at the cost of more complexity. It's WHY C++ code can fly and why big places like Google uses it, even if sometimes they dig into the dirtier bits and write highly specialized optimisations that fit really particular use cases using the "difficult to wield" tools, they get the advantage of that WITH high level abstractions. But, some features really can only be wielded with some experience. I like to say: You can screw it up in any language. I've seen memory leaks come out of Perl code and Java code too. They ALSO require you to, at some level, understand what you're doing with memory. Usually those who run into such issues are also ill equipped to understand what's going on right off the bat too.

    Now, being intimate with a language so long does mean I have my biases… I would take a compiler spitting template errors at me about compile-time type checking over finding the runtime type problems dynamic languages are prone to any day (I have spent a fair amount of time working in Java, python, etc too, I understand the lay of the land): I HATE the way dynamic languages deal with types, and you can tell this by the existence of things like the javascript "meta" languages… I digress… This is where the swings and roundabouts are. Writing a piece of C++ code that'll compile can sometimes take a little longer (I don't think it's THAT much longer but bare with me…), but when it's compiled there's an entire class of problems that I don't have to go debug at run time to find. There are (fairly sophisticated I'll admit) features I can use to prove that certain design limitations are enforced at compile time that go far beyond that too.

    For me the absolute worst is when you DO NOT find those runtime bugs at "coding time" and it becomes a "fix it in production" time issue. How much time are you losing then? "Writing code fast" can also mean "Writing code fast and wrong".

    In a broader sense, I think people who come down so hard on C++ simply do not understand some of the awesome stuff it can do. You get bad C++, but you get really solid, stable, massive, fast systems written every day by people who are in love with it's expressive powers and guarantees.

    HOWEVER, please keep telling people this, the best things about C++ are the job security and the pay.

  4. C++ is the "trying to be cooler brother" in the C language family, you spend more time trying to know how to unpack some primitive type from a complex class, than developing your app, C >>>, c# to much java like. and also has some java script complex of being a gee now general propose language, but don't knowing be good at none of the styles, and when u mix them, u have now a big mess. be simple. be efficient. deliver your project.

  5. Writing C++ code doesnt actually take long because it can be really conscise and you WILL use old code for new projects. A Professional C++ programmer has already the majority of work done before he even has a project started. Its a misconception that c++ development and implementation is slow when you just use github as intended 😀

  6. C++ will still remain top language. Without c++ js and another language will be on trash. C/C++ is origin of the many languages. Don't listen to anybody.

  7. I can't consider a person as a programmer if he don't know Assembly and C/C++.(Because these languages teaches us how a computer really works)
    There is big difference between programming and coding.

  8. How can you give a programming language recommendation , when you haven't solved certain komplex problems with it?
    Every language has it pros and cons. The best thing to evaluate if a language is suitable for you, try solve a certain problem.
    In my opinion C++ isn't that hard but you have to know what you are doing. But this argument counts for every language.
    Unfortunately I encounter that many programmers stops thinking about what can happen if I write it like this. Just copy&past
    the code from somewhere is a bad practice

  9. well, any C++ code base can have a garbage collection system attached, like Unreal Engine 4 for example. you do not manage memory if you do not want to with C++ in Unreal Engine 4. Even C++ it self has smart pointer, containers, that you can create and use if you want to manage it. Some nerd even argue, especially in the game industry, that memory management is out of the window for any game code, object orient? forget it LOL.

  10. Studied C++ to try and contribute features to a few OSS that I use (I will admit that I got side tracked by the pandemic). It is my understanding that C++ has been going in through some serious overhauls. TBH it did not fee that complex. I wish I had time to learn it again but decided to pickup Go instead. Python is great but it does have some limitations. I will say Python was the first language where I got to a point where I felt like I could do anything.

  11. After several years C++ then I used Java, of course with some overlapping periods. Recently I turned back from Java to C++ since some of the complicated things I could do it much better an faster in C++, using ranges-v3.

  12. You never have been qualified to talk on this subject. So, in kind, I think people should move on from your channel, since 5 minutes of exposure is a suitable foundation for giving advice.

  13. It is always a pleasure to meet Stefan Mischook. Great video, as usual.

    C++ has two basic "defects": it is ridiculously vast and it is often presented in a very convoluted manner. The official documentation of its last release (C++20) is 1800 pages long. Not even the space shuttle maintenance manual was so long and complex. It is definitely too much. This language desperately needs a drastic slimming diet. Moreover, the already huge complexity of this language is often presented to the large public by a restricted èlite of very talented programmers that insist on very convoluted details. No hope to have the message delivered to mortal people in this way…

    Luckily, C++ in itself is NOT so vast and complex and – even more important! – it must NOT be used in such a convoluted way. It is perfectly possible to use 10% (the most simple 10%) of C++ to build 90% of the wanted software. It is essentially a matter of technical choices and of programming style.

  14. Just found your channel really enjoying the content. I spent most of my formative programming years with AS3, it was a great foundation for learning other languages. Flash gets a bad rap but it kick started so many careers.

  15. Please don't believe the argument that C++ is harder to use or less productive than other programming languages. That's not true considering that modern implementation of C++ make the language as easy as C#, Java or even JavaScript. On the other side, if you use a C++ framework like Qt, trust me you can be much more productive than developing in react.js or angular. People that judge vanilla C++ considering the implementation from the 90s just don't know what they are talking about. This video is not a state of C++ in 2021. It's clear that this guy doesn't know what is talking about.

  16. Hi Stefan. The claim that C++ code has to manage memory "properly" is something of the past. It's mostly not true anymore. Sure, you can be an idiot and sprinkle `new` and `delete` all over your code and then claim that you have memory leaks. But no one does that anymore (I work in a multi-billion dollar company that uses C++, and been doing C++ for over 10 years). People nowadays use RAII to manage memory, where cleanup is done in destructors. Since C++11, we have unique_ptr, shared_ptr in the standard library, and many other similar things that cleanup memory automatically for you. Even for C++03, we use the boost library to get these classes that solve these problems. Very, very, very rarely you'd need to handle resources manually anymore. Never happened with me for years.

    Though a real problem in C++, if you'd like to rag on it a little, is that you can write on places in memory you're not allowed to (if, for example, you write to an array index that's bigger than its size), which may corrupt memory and cause your code to do undefined behavior because you wrote over a function or something else in memory. This problem is, btw, in all low level languages, like C, Rust, Go, etc. Like you said, there's price for speed. More protection convenience = more resources.


Leave a Reply

Your email address will not be published. Required fields are marked *