Hacker News new | ask | show | jobs
by pcloadletter 4561 days ago
Imagine C is like giving a wannabe tinkerer a knife; then C++ would be like giving him a knife, blowtorch, dremel.

With the C guy, you more or less know what kind of damage he can do, and what kinds of trouble he can get into. So you are able to look out for that.

The C++ guy, OTOH has exponentially more ways to cause damage.

Basically, both are tools, which, in the hands of a skilled artist, can do wonders. But in the hands of the inexperienced (99%), C++ is a lot more dangerous and complicated.

1 comments

Not really. C++, at least modern C++, is a huge improvement in terms of safety over C. The problem with C++ is that this improvement has been achieved in a clumsy way: instead of providing clearly differentiated means of static abstraction (e.g., non-specializable generics for parametric polymorphism and concepts for ad-hoc polymorphism), we get templates, which have been equipped with all sorts of corner cases (specialization, SFINAE).