On Tue, Dec 12, 2006 at 09:52:50AM +0900, Miles Bader wrote: > Whoops, chopped off my last paragraph; I meant: > > It has many other advantages however, including those from OOP, and more > unusually, a notational power that makes certain sorts of programs > _much_ easier to write/read. [Part of this is the fact that doing so > can be done _efficiently_ -- it's very common to see e.g. java programs > which are hard to read and have subtle bugs because of the tricks > they're playing to avoid heap allocating temporary objects. Because C++ > allows using value (or value-like) semantics instead in many cases, you > don't need so many tricks, and it can greatly improve the > maintainability of the code.]
I know, I know. Those tricks are a pain in the butt. Eiffel eliminates that problem with its "expanded" classes. Modula-3 avoids that problem by having data structures that are *not* made of objects (in the technical OO sense) and that can be places off the heap, and in other objects. Modula-3 even goes the whole way to low-level system programming with its "unsafe" features. The difference between these and C++ or C is that you can't use them by accident; you have to explicitly mark the code that uses them as "unsafe". Although I find these languages wordy, I still think it a great pity that C++ took off instead of them. - hendrik -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]