Mon, 07 Jun 2010 14:06:24 -0400, Nick Sabalausky wrote: > ""Jérôme M. Berger"" <[email protected]> wrote in message > news:[email protected]... >>Nick Sabalausky wrote: >>> I actually find that funny. Something in Java that isn't an Object? I >>> remember "Everything's an object!" being paraded around as a selling >>> point. >>> >> Yes, in Java, everything is an object except where that bothered >>the language "designers". There are several such design decisions in >>Java... > > Yea, that's a good example of why I've grown a distaste towards > hard-and-fast religious design strategies. The designer inevitably comes > across cases where it just doesn't work particularly well, and then > they're forced to either stay true to their misguided principles by > accepting an awkward problematic design, or contradict their alleged > principles and go with a better design. And when they do the latter, > that runs the risk of causing problems in other areas that had been > relying on the old principle being rigidly followed.
Part of the "religious" feel of Java comes from the fact that it runs on a VM. The safe memory model imposes some restrictions as you might have noticed in SafeD. The 'everything is an Object' idea is a bit broken, performance-wise. That's why C# added reified types. The reason they added primitive types has a rationale behind it. The decision made the VM a useful tool for real enterprise applications.
