Hacker News new | ask | show | jobs
by storgendibal 3213 days ago
I agree with all your points except the first two. There is absolutely no reason to teach C before C++. In fact, modern C++ is a very different animal from its C origins, and it's often better to teach the correct C++ idioms first, and then later go into detail on what happens under the hood.

Similarly, C++ is not an OOP language. It's a multi paradigm language, and arguably the generic programming style is better suited to C++ 11 and 14, than the traditional, inheritance heavy OOP style that was in vogue in the 90s.

2 comments

On the 2nd point - what OP wanted to say was that students are just forced to learn the language without really understanding why it is what they are doing.

Teachers just try to finish the syllabus, and students just want to get marks. Nobody is bothered to explore the language, get involved in open-source projects, create something cool of their own.

Yep, that is true, and I agree. I found that applied to my math classes as well, unfortunately. It was not until I came to the US that I started to find the intellectual wonder in math (versus memorizing stuff). However, I was very fortunate to have some amazing physics teachers in high school in India, who taught from first principles, which was simply amazing.
I guess, the type of C++ taught there is the worst outdated kind of C++98 from a generic 20 y.o. text. You know, with the obligatory Circle class inheriting from Shape, all added on top of the traditional C control flow. With three vague paragraphs on the holy Encapsulation/Inheritance/Polymorphism trinity, ofc.
Indeed :) Although that is often the type of C++ taught here as well, and also used in industry at some top tier tech firms, unfortunately.