| ▲ | dpark 2 hours ago | ||||||||||||||||
> The entire design of C++ is built around eliminating all distinctions between primitive "entities" and user-defined "entities" If the intent was to erase all distinction between built-in and user-defined entities then making the primitive types unable to participate in object hierarchies was a pretty big oversight. But at this point I think we’re talking past each other. Yes, in Java objects are more distinct from primitives than in C++. But also yes, in C++ there is a special group of “objects” that are special and are notably distinct from the rest of the object system, very much like Java. | |||||||||||||||||
| ▲ | kragen 2 hours ago | parent [-] | ||||||||||||||||
You can read Stroustrup's books and interviews, if the language design itself doesn't convey that message clearly enough; you don't have to guess what his intentions and motivations were. And, while I strongly disagree with you on how "special and notably distinct" primitive types are in C++, neither of us is claiming that C++ is less adherent to the principle that "everything is an object" than Java. You think it's a little more, and I think it's a lot more. But we agree on the direction, and that direction is not "Java [did something] by deciding everything must be an object," but its opposite. | |||||||||||||||||
| |||||||||||||||||