Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!qt.cs.utexas.edu!yale.edu!think.com!barmar From: barmar@think.com (Barry Margolin) Newsgroups: comp.lang.c++ Subject: Re: Borland language extension virtual function = [ ... ]; Message-ID: <1991Jun27.210518.19589@Think.COM> Date: 27 Jun 91 21:05:18 GMT References: <1991Jun27.130247.5107@mathcs.sjsu.edu> Sender: news@Think.COM Reply-To: barmar@think.com Organization: Thinking Machines Corporation, Cambridge MA, USA Lines: 30 In article <1991Jun27.130247.5107@mathcs.sjsu.edu> horstman@mathcs.sjsu.edu (Cay Horstmann) writes: >The speaker (I believe the project head for ObjectVision--can't remember >his name) insisted that this did not violate any C++ standard, being "merely" >an extension. To me, this sounds like utter nonsense. Assuming for the moment >that the feature is indeed closely tied to Windows (or maybe other event- >driven UI that use small integers as message ID's), one of two things will >happen: > Nobody else will support it, and Borland C++ (otherwise an admirable > product) will be on the route that killed Pascal, with proprietary > extensions in every implementation. > > Every DOS vendor must support it to stay compatible, and Borland manages > to place a true wart into the de facto language without even bothering > to go through the ANSI committee. 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. -- Barry Margolin, Thinking Machines Corp. barmar@think.com {uunet,harvard}!think!barmar