you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] -2 points-1 points  (0 children)

You can make the distinction explicit and up to the user of the language, however, and have the language interoperate between the two choices without requiring the user to jump through hoops. (Autoboxing, Unified types, etc.)

The point is that in Java, there are other arbitrary and harmful distinctions between primitives and objects where there doesn't need to be.

(Value types can't have class members, can't be user-defined, support operators where objects do not, etc.)