5 ms·
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.
by wues 8y 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.
- wbl 8y agoReally? C++ accidentally has a Turing complete templating layer. I suppose one could point to Common Lisp but if you think that is simple....
- Const-me 8y agoObjective C and D both have excellent C compatibility. C# has very good one. I think all 3 languages are easier to use.
- wues 8y agoThey 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++.