begin quoting Christopher Smith as of Tue, May 23, 2006 at 09:33:32AM -0700: [snip] > Java lacks from that list: > 1) overloaded operators
Thank god! > 2) access to platform specific features (yes, you can use JNI but at > that point you aren't using Java) It's analagous to using ASM fragments in a C program. Since Java was meant to be as platform-agnostic as possible, this is not a concern. So yes, Java doesn't have it, but that was desgined in as a feature. > 3) destructors, and lexically scoped resource management in general Yup. It's tricky, error-prone, and thus designed out. > 4) multiple inheritence Thank god! > 5) fairly well defined performance costs It trades that for improved programmer performance and reduced programmer headaches. :) > On top of that, it's support for generic programming is limited enough > that it's hard to use it effectively outside the context of collections. Losing multiple inheritance and using interfaces took care of (from my point of view) ~90% of the problems addressed by templates/generics. I frankly don't miss 'em very much. Other people did, thus the whole "generics" thing to introduce the ugly C++-style syntax for templates. I figured an ability to overload return types (polymorphic return types? I forget the term) was sufficient. (But then Java would have the same problem as C++ templates: bloat.) > So no, I didn't describe Java. Correct. :) -- _ |\_ \| -- [email protected] http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg
