3 ms·
The whole point of C++ from day one was to add objects and classes which are supposed to be higher-level than C's structures and functions. Perhaps even more to
by notacoward 8y ago
The whole point of C++ from day one was to add objects and classes which are supposed to be higher-level than C's structures and functions. Perhaps even more to the point, most people talk about "modern C++" as something different and higher-level even than day-one C++. I'm even inclined to agree. Collections and RAII and lambdas do provide higher levels of abstraction. They just still fall well short of what other languages do in terms of letting programmers focus on their domain-specific problems instead of low-level mechanisms.
- paulddraper 8y agoIDK how coarse the classification of "high-level languages" is, but there's just no way that C++ is even playing the same sport as Python/Ruby/JavaScript.
- notacoward 8y agoI think we're kind of agreeing. Proponents like to portray C++ as a high-level language. That's why they insist on using it instead of C. "No more manual memory management" they say, except that having to manage the compiler's handling of copies and scope exits is every bit as bad. "No more dangerous bare pointers" except that null-pointer exceptions occur just as often in C++ code as in C. That's why I distinguished it from real higher-level languages at the start. Anyone who has worked in such knows C++ doesn't meet that standard, but its proponents make the claim anyway.
- paulddraper 8y agoWe are agreeing, except my statement "I doubt you'll find many people who are would say 'C++ is intended to be a true high-level language'". If that is actually how C++ is being sold that is indeed wrong. Same if that's how Rust were hypothetically being sold. Both make you think really hard about ownership for purposes of faster memory management. They're not "true high-level lanaguages". They are systems languages with zero-cost abstractions where possible.