Why is c++ "hard"? Out of all of the languages I have looked at, this one seems to consistently be dreaded the most?

Admittedly I haven't looked into actually programming with C++ yet (I am trying my hand at Python, then C# in Unity). However, from the fear in people's voices when I bring it up, C++ sounds to be a monstrously difficult language? This is what I have gathered so far: 1) it is a very low-level language 2) it is very difficult to determine where an error occurs (sometimes it runs even when there is an error which is even worse?????) 3) there is no garbage collection(?) 4) it has classes.

As far as I can tell, it really isn't the syntax that is the tricky part of learning C++ and being able to apply it well, it is the 4 (though maybe more) reasons I listed above. Can someone explain them to me in a K.I.S.S fashion and what makes them (^) difficult?


EddieJ, thank you for consistently responding to my questions (I ask a buuuunch so I would imagine it would get old pretty quickly, so I really appreciate it). What is the best way to go about learning it? I love programming (even being really new to it) but C++ really does sound rather scary (I won't be learning it for a while, maybe several years until I am comfortable with Python and then C#). What are some things I should watch out for?

Update 2:

It is. In the course (from Udemy) we are going over strings. There are practice problems that we solve with the option to see the correct answer if we are stuck. There is also a quiz at the end of each section to see how well we did. It was very disheartening to see that I missed half (5 outta 10 correct) and I almost quit then. I instead decided to rewatch the videos and give it another go. Still, it is very disheartening to put in a lot of effort and then fail.

Update 3:

My apologies mate, here is a well deserved favorite answer. 

Update 4:

poop, can't do it just yet, I will with the other one that you replied on.

Update 5:

Any time mate. 

1 Answer

  • EddieJ
    Lv 7
    4 weeks ago
    Favorite Answer

    Edit3: Thanks. :)

    Edit2: Maybe you gave an answer without testing it.  Of course, on a test, you don't have that chance.  On real programs, they need to be tested and debugged.  We never expect it to be perfect the first time.  But, I get disheartened when I give answer after answer here without getting chosen as Favorite Answer.

    Edit: Let's see if my edit makes answer invisible as it does so often.

    I think I may have said in another answer that the way students learn a programing language is to start with something simple and then slowly add one or two concepts at a time.  I'm assuming that's how you are learning Python.


    C++ is NOT that horrible -- until you look at some better languages.

    If you look at C++ as being a slightly better version of C (and that mainly means C with strings), then it's an improvement over C, and just take it as that.

    In other words, people would choose C because they WANT to be "close to the metal", but then choose C++ to still be close to the metal but it's a little bit easier to do so.

    I think the worst part of C++ is that they made some poor choices.

Still have questions? Get your answers by asking now.