Hacker News new | ask | show | jobs
by wues 2722 days ago
C compatibility was the very reason for which C++ is bigger, more complicated and less safe than a similar language not compatible with C could be.
2 comments

Objective C and D both have excellent C compatibility. C# has very good one. I think all 3 languages are easier to use.
They all may have excellent C compatibility, but this is not the point. The point is that without C compatibility C++ could be smaller and simpler, and yet still meeting the same goals and covering the same use cases. Objective C has Smalltalkish object system glued to C base. Fundamental C++ techniques like RAII not possible there. D has GC. C# runs in a VM. I would not call a language with any of those features very similar to C++.

OTOH if not for C compatibility we would not have this discussion, since we would most likely never heard of C++.

Really? C++ accidentally has a Turing complete templating layer. I suppose one could point to Common Lisp but if you think that is simple....
Well, Common Lisp is simple. Except maybe the Metaobject Protocol (which ultimately didn't make it into standard, but it sort of still is). And except eval-when. Eval-when is magic.
I never said that this language would be simple. Just simpler than C++ we know.