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=-0.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,703c4f68db81387d X-Google-Thread: 109fba,703c4f68db81387d X-Google-Thread: 115aec,703c4f68db81387d X-Google-Thread: f43e6,703c4f68db81387d X-Google-Attributes: gid103376,gid109fba,gid115aec,gidf43e6,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!postnews.google.com!o13g2000cwo.googlegroups.com!not-for-mail From: "bjarne" Newsgroups: comp.lang.ada,comp.lang.c++,comp.realtime,comp.software-eng Subject: Re: Teaching new tricks to an old dog (C++ -->Ada) Date: 23 Mar 2005 06:08:14 -0800 Organization: http://groups.google.com Message-ID: <1111586894.547988.175600@o13g2000cwo.googlegroups.com> References: <4229bad9$0$1019$afc38c87@news.optusnet.com.au> <1110032222.447846.167060@g14g2000cwa.googlegroups.com> <871xau9nlh.fsf@insalien.org> <3SjWd.103128$Vf.3969241@news000.worldonline.dk> <87r7iu85lf.fsf@insalien.org> <1110052142.832650@athnrd02> <1110284070.410136.205090@o13g2000cwo.googlegroups.com> <1110288473.850146@athnrd02> <1110326720.837893@athnrd02> <9lK%d.186$FN4.48@newssvr21.news.prodigy.com> NNTP-Posting-Host: 24.250.145.189 Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" X-Trace: posting.google.com 1111586898 9811 127.0.0.1 (23 Mar 2005 14:08:18 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Wed, 23 Mar 2005 14:08:18 +0000 (UTC) In-Reply-To: User-Agent: G2/0.2 Complaints-To: groups-abuse@google.com Injection-Info: o13g2000cwo.googlegroups.com; posting-host=24.250.145.189; posting-account=4LEhdQwAAAA9oyM5ZPN5uWaJ7jMxYlJG Xref: g2news1.google.com comp.lang.ada:9799 comp.lang.c++:46818 comp.realtime:1616 comp.software-eng:5216 Date: 2005-03-23T06:08:14-08:00 List-Id: Robert A Duff wrote: > "Frank J. Lhota" writes: > > > wrote in message > > news:9lK%d.186$FN4.48@newssvr21.news.prodigy.com... > > > And that is the unfortunate aspect of the language: its foundation on C. > > > > > > I once heard Stroustrup confess that, if he had had his druthers, he would > > > not have started with C as the seed language. > > > > Stroustrup said in an interview that his preference would have been Algol > > with classes. > > Hmm... Isn't that language called Simula 67? ;-) > > > I think that I probably would have preferred that as well! > > - Bob The Algol I was talking about in that context was Algol68. The result would have been a more flexible and efficient language than Simula67 and a cleaner language than C++ became. Unfortunately, there was no chance of such a language succeeding at that time and place - the understanding of the basic concepts among the intended users and the infrastructure needed to get work done were missing. It would have been yet another beautiful, but stillborn, language. C++ was designed in response to pressing problems, not as a 10-year project aimed at abstract beauty. I think that in the long run, it actually gained from that. If you want to understand how and why C++ was done, have a look at Stroustrup: "The Design and Evolution of C++" (Addison-Wesley). If nothing else, it might help you to avoid revisionist history and wild conjecture. I think that documenting decisions about major tools is important and should not be confused with "confessions". I chose C as a base for C++ because - among the many languages I knew of - it was the one that came closest to my needs. It wasn't perfect and C compatibility became a bigger problem than I had bargained for, but noone "forced me" (as is conjectured, incl. in this thread). And no, C++ was never meant solely for object-oriented programming (when defined as programming using class hierarchies). Support for data abstraction and procedural programming was mentioned in my earliest papers, and a 1981 paper grapples (rather unsuccessfully) with the basics of generic programming. -- Bjarne Stroustrup; http://www.research.att.com/~bs