Re: warning missing
Thomas Hallgren <thhal@mailblocks.com>
From: "Thomas Hallgren" <thhal@mailblocks.com>
To: pgsql-hackers@postgresql.org
Date: 2004-06-24T05:12:31Z
Lists: pgsql-hackers
"Greg Stark" <gsstark@mit.edu> wrote in message news:87smcl7fdj.fsf@stark.xeocode.com... > > Thomas Hallgren <thhal@mailblocks.com> writes: > > > Try to use a similar construct in a more elaborate OO-language (like Java, C#, > > etc.) and you will get an error like: > > Just as a point of reference, Java and C# are not "more elaborate" object > systems. For Java at least being *less* elaborate was an explicit design goal. > I mean more elaborate from a n OO semantics standpoint. I.e. it enforces OO much more, provides better data hiding, the ability to use interfaces (and thereby enforce interface/implementation separation), package protection, etc. etc. To elaborate something doesn't necessarily mean adding more kludges to a language. > The designers thought C++ had too many features and gave programmers too much > rope to hang themselves. They thought by removing major OO features that > confuse people the resulting language would be 90% as functional with 10% of > the problems. > > If you want a *more* elaborate OO language than C++ you would have to go to, > say, Common Lisp. But I doubt it would support your argument. > I'm not an expert on Common Lisp but I think it would. At least if you'd use CLOS and defclass. There's no way to hide readers/writers/accessors that you inherit. From an OO semantics point of view, I still regard Java and C# much more elaborate than both C++ and Common Lisp. The latter lacks interfaces and different levels of protection. Kind regards, Thomas Hallgren