Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!elroy.jpl.nasa.gov!usc!apple!netcomsv!sjsumcs!horstman From: horstman@mathcs.sjsu.edu (Cay Horstmann) Newsgroups: comp.lang.c++ Subject: Re: Borland language extension virtual function = [ ... ]; Message-ID: <1991Jun28.022445.12167@mathcs.sjsu.edu> Date: 28 Jun 91 02:24:45 GMT References: <1991Jun27.130247.5107@mathcs.sjsu.edu> <1991Jun27.210518.19589@Think.COM> Organization: San Jose State University - Math/CS Dept. Lines: 43 In article <1991Jun27.210518.19589@Think.COM> barmar@think.com writes: >In article <1991Jun27.130247.5107@mathcs.sjsu.edu> horstman@mathcs.sjsu.edu (Cay Horstmann) writes: [my tedious explanation of a nonstandard scheme in BC++ deleted...] > >How do you think new features get added to languages? Almost all good >features start out life as someone's private extension. If the extension >becomes popular then it turns into a de facto standard, and may later find >its way into an official standard. > >Features that are invented by the standards committee frequently turn out >to be bad ideas, because they are adopted before there has been much >experience with them. > >C++ itself was once someone's extensions to C. > All this is true enough. I guess there are three things that bother me about this. (1) Borland is trying very heavily to get the OMG to buy into their scheme. Now if anyone is ill-equipped to make any judgment on the side effect this would have on the C++ language, it is that body. [Maybe I am over- reacting here; I have not actually seen what their OMG proposal encom- passes.] Anyway, they shouldn't propose a library as a standard to the OMG which is based on a non-standard language extension. (2) As far as I can tell, this particular feature is extraordinarily poorly thought out. There almost certainly are better ways of doing this that don't require breaking the language. [I might be wrong; maybe the feature is much more general and useful than it appeared. Does anyone know?] (3) There generally are several phases in the design of any language. With C++, it seemed to be the feeling of the standards committee that the experimental phase is largely over (except, I guess, with templates and exception handling, the latter of which they have no business standar- dizing on, if you ask me), and to a degree I concur with that feeling. [I realize that I have in the past argued the other way around, but that was only with features I invented, hence truly great and necessary ones.] Really, I am hoping that someone who has actually used this feature can set me straight on its semantics and usefulness. Cay