Comment Re:Review Ruby for the perl enthusiast please (Score 2) 121
And every primitive has a class version...
Which emphasizes the point - they are different things, or the duplication wouldn't be necessary.
...to which the primitives are automatically boxed when they need to be treated like objects.
Auto-boxing/unboxing is an unbelievably ugly kludge which exists specifically because Java distinguishes between primitives and objects. After enough programmers kvetched about the ugliness and extra code that was needed, Sun threw auto-boxing in somewhere around Java 1.4 or 1.5.
Languages with a true "everything is an object" model don't need such an awful hack. They also don't require umpteen implementations of containers or sorting (one for Objects and one apiece for each of the primitive types), with all the library bloat that entails. They don't need the programmer to be mentally tracking which elements are primitives and which are objects, and making sure to use the right constructs for each.