+ 10
Can C++ really be learned by anyone? I have met countless people who struggle with this language in college. Please be honest..
Having a little experience myself with the language it looks like C++ has a slightly masochistic learning curve to it. Some of the Professors in my college make the learning curve even higher and more difficult. I do not hate the language I believe a lot of the coding skills should be memorized. But using logic from thin air is a very harsh way of teaching. In chess most masters would memorize until the moves become muscle memory. With C++ memorization seems more adept.
14 Answers
+ 13
I have done quite a bit of C++ coding and I can say that getting good at writing C++ code is not about memorization. You don't get good at C++ by just memorizing the whole Standard Template Library and knowing all of the keywords. Yes, C++ is a very big language, but understanding basic computer science concepts like pointers/references, memory management and object-oriented programming is basically all you need to get started!
Most of the more advanced language features like initializer lists, move semantics or multi-threading are't very important unless you are writing highly-performant code in a corporate setting. For a computer-science student or just someone interested in the language, you won't need to know most of that stuff until much later.
However, I would not recommend C++ to anyone as their first programming language as it is a very large language and the syntax can be quite archaic at some points. If you want to learn C++, start by become proficient in C or Java (preferably both). By learning C, you'll learn all of the low-level stuff about pointers and memory management. By learning Java, you'll learn all of the high-level stuff about Object Oriented Design and Abstraction. Additionally, the syntax for Java and C are both very similar to C++, so the transition will not be very difficult.
Feel free to ask me any questions if you want to know more!
+ 13
HonFu you're definitely right, the best idea is to go through is first and then strategies your own table of contents for it, I use lots of recourses to learn that I even forget that am following a single material, some materials even put what you need to learn last at the beginning as a discussion, which kind of make the language feel scary at that instance for the learner, to me I have not yet found a single material that teaches programming well (C to be precise)
+ 11
It depends on your interest and purpose of learning c++. C++ is a vast subject and there will be something left even after you learn for a year. You need to practise, revise, and solve projects to get a good grip on the language.✌️
+ 7
I think that C++ looks harder than it is because of bad teachers and bad teaching material.
I am not belittling C++ here - like the others said, it is large, and you can do powerful stuff that's not easy to handle. But bad teaching will make it look even harder.
My impression is that teachers and authors of C++ are often *very* advanced, and many things feel easy and natural to them that are in reality arcane knowledge.
And their books and tutorials look just like it.
One of my books explains the details of all (all!) the built-in datatypes early in the book, when int, double and char would have sufficed.
Another book places very early a chapter about how floats and doubles work internally, in the hardware and all. No true beginner will understand that.
The distance between C++ pros and beginners is just too large, and the teachers fail at 'levelling down' mentally, they don't know how to take the student by the hand and teach them one thing at a time, from easiest to hardest.
+ 6
HonFu
may I know name of your book. 📖
+ 6
I doubt you know them, they are German books.
I'm sure you'll find several examples in every language.
+ 6
C++ is not hard as it look like.
Some bad teachers make it hard by their bad teaching.
So, you should learn it from another source.
+ 6
I used C++ in my A-Level Coursework project.
Everyone in my class struggled to learn it.
I personally struggled to not delve too deep into the language. I wanted to know every little detail.
Essentialy I overcomplicated things.
I finally went by the rule, “If it works, it works!”
Moving on to my first year at uni, changing to C# was great, as they are such simillar languages.
I think having a background in C# would make C++ easier.
As said before bad teachers make it harder. You end up having to teach youself.
I hope this helps and I know this is a late answer compared to everyone else but I thought I’d share anyway 😆
+ 6
Sometimes if you learn C first, the C++ learning curve can be reduced but then you also risk doing something that ~ swim ~ mentioned, which is just using C++ as a better C.
+ 4
Thank you very much for all of the advice everyone!!
+ 2
Thank you everyone!
+ 1
yup the people you met till date took computer science as an escape route from other subjects....
the problem is that they never had a first hand experience of Programming and find things difficult.....
C++ is never difficult...
+ 1
Thank you very much for the constructive critique on this post! I really do appreciate the advice!
0
All critique is welcome I will not be The Karma Police.