From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 109fba,b87849933931bc93 X-Google-Attributes: gid109fba,public X-Google-Thread: fac41,b87849933931bc93 X-Google-Attributes: gidfac41,public X-Google-Thread: f43e6,b87849933931bc93 X-Google-Attributes: gidf43e6,public X-Google-Thread: 103376,b87849933931bc93 X-Google-Attributes: gid103376,public X-Google-Thread: 114809,b87849933931bc93 X-Google-Attributes: gid114809,public X-Google-Thread: 1108a1,b87849933931bc93 X-Google-Attributes: gid1108a1,public From: bs@research.att.com (Bjarne Stroustrup) Subject: Re: OO, C++, and something much better! Date: 1997/01/11 Message-ID: #1/1 X-Deja-AN: 209987383 distribution: all references: organization: AT&T Research, Murray Hill, NJ, USA newsgroups: comp.lang.c++,comp.lang.smalltalk,comp.lang.eiffel,comp.lang.ada,comp.object,comp.software-eng Date: 1997-01-11T00:00:00+00:00 List-Id: From: Sazonov Cyril writes: > > I'm absollutely agree with Stanley Allen ! Just to say more: C++ doesn't > > suggest _ANY_ new ideas or tools in comparison with Ada ! > > > < > 'revolutionary technology' deleted - bs>> > > At all talks of 'new word', 'revolutionary technology' etc in the context of > OOP and C++ especially seems to be strange for the ones who know Ada since, > for example, 1989. All the ideas of the OOP had been implemented in Ada, even > though they seamed to classic in the time of the language design. Triumphant > march of the OOP and C++ is caused by some kind of lazyness and illiteracy. > The ones who find that technology to be new simply aren't familiar with the > Algol-family languages history. As far as I know, this discussion started with some assertions about the degree to which C++ was innovative. Naturally, some people couldn't resist the temptation to start a minor flamewar in favor of their favorite languages. However, let us try to stick to facts. Nothing good will come of calling someone "lazy and illiterate." Ignorance of the Algol family of Languages is not common among the part of the C and C++ community that I am most acqainted with (including John Skaller) - essentially everyone is multi-lingual. Early versions of C++ were - under the name C with Classes - in use from 1980, and C++ much as we know it was in commercial use from late 1985. For my needs, Ada83 was too restrictive and too expensive. In particular, C++ provided virtual functions which Ada83 lacked - and the Ada95 designers agreed with me in the sense that they added the equivalent. I understand the restraint of the Ada83 designers, but that didn't help me at the time. Object-oriented programming - as most commonly defined - needs the support of virtual functions (unless you are willing to simulate them using pointers to functions - which would be hard in Ada83). And 'no' I do not claim that virtual functions originated in C++. I borrowed that concept - with proper thanks and acknowledgements - from Simula. In my opinion, Simula is a good candidate for the title of "the most innovative language ever." Ada83 provided generics, and at the time I acknowledged that C++ suffered from the lack of an equivalent. However, simple grafting of features from one language onto another doesn't work too well. I think that templates serve C++ better than a simple transplant of Ada generics would have. For a view of 1985 vintage C++ see my "What is Object-Oriented Programming?" paper, or better yet see "The Design and Evolution of C++" (Addison-Wesley) for a more detailed view of C++ from a current perspective. - Bjarne Bjarne Stroustrup, AT&T Research, http://www.research.att.com/~bs/homepage.html