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.9 required=5.0 tests=BAYES_00 autolearn=ham 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!z14g2000cwz.googlegroups.com!not-for-mail From: "Jerry Coffin" Newsgroups: comp.lang.ada,comp.lang.c++,comp.realtime,comp.software-eng Subject: Re: Teaching new tricks to an old dog (C++ -->Ada) Date: 11 Mar 2005 07:52:26 -0800 Organization: http://groups.google.com Message-ID: <1110556346.841594.212520@z14g2000cwz.googlegroups.com> References: <871xau9nlh.fsf@insalien.org> <3SjWd.103128$Vf.3969241@news000.worldonline.dk> <87r7iu85lf.fsf@insalien.org> <87is4598pm.fsf@insalien.org> <1110054476.533590@athnrd02> <1110059861.560004@athnrd02> <422b6d49.1141887367@news.xs4all.nl> <1110266099.441421.179290@o13g2000cwo.googlegroups.com> <1110332933.587110.260410@z14g2000cwz.googlegroups.com> <1110390097.532139.43430@f14g2000cwb.googlegroups.com> <422f3808$0$30165$ba620e4c@news.skynet.be> <1110409958.685759.249420@g14g2000cwa.googlegroups.com> <15SdnYvJ0_x3Vq3fRVn-3Q@megapath.net> <1110522060.091940.178510@l41g2000cwc.googlegroups.com> NNTP-Posting-Host: 70.33.25.135 Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" X-Trace: posting.google.com 1110556352 21260 127.0.0.1 (11 Mar 2005 15:52:32 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Fri, 11 Mar 2005 15:52:32 +0000 (UTC) User-Agent: G2/0.2 Complaints-To: groups-abuse@google.com Injection-Info: z14g2000cwz.googlegroups.com; posting-host=70.33.25.135; posting-account=mZiOqwwAAAC5YZsJDHJLeReHGPXV5ENp Xref: g2news1.google.com comp.lang.ada:9142 comp.lang.c++:45151 comp.realtime:1282 comp.software-eng:4849 Date: 2005-03-11T07:52:26-08:00 List-Id: Pascal Obry wrote: > "Jerry Coffin" writes: > > > Your claim of fewer bugs is just the sort of unsupported anti-C > > comment we see all the time. > > Just plain wrong, there is data (a PHD) see > http://www.adaic.com/whyada/ada-vs-c/cada_art.html Perhaps you should reread this, paying paritcular attention to the dates involved. According to the paper, they started switching from C to Ada around 1986. C wasn't standardized until 1989, and (as you'd expect) it was some time after that before most compilers implemented the standard language. By 1990 or so when compilers conforming reasonably closely with the C standard became available, it appears likely that essentially all new development was being done in Ada. Under the circumstances, it would be rather surprising if the C code was ever rewritten into standard C. In short, this is not a comparison to the C language as it exists today, or has existed in well over a decade. He also mentions C++ in passing, but (again, based on the timing) he was clearly looking at C++ when it was still in an embryonic stage. Worse, the understanding and use of the language were, if anything, well behind the development of the language itself. The language itself was clearly inferior to todays, but it's use was inferior by an even larger margin. If anything, based on my own experience with standard C vs. pre-standard C, I'd say his study shows rather the opposite of what you think it does. Standard C was enough of an improvement over pre-standard C that it would be rather surprising if standard C didn't beat Ada in most areas studied (the primary exception being code reuse). It's true that Ada has also been updated in the meantime, but the changes in Ada have been _drastically_ smaller than those in C or C++. Ada 83 already had generics, already had type-checking on the same general order as that introduced into C with function prototypes, etc. With Ada 95 you can probably expect a fairly substantialy improvement in reuse, but only rather minor improvements elsewhere. By contrast, comparing modern C++ to the pre-standard C shows _large_ improvements in nearly all areas. This is due in part to the changes in the language itself, but perhaps even more so to improved understanding of how to use the language. -- Later, Jerry. The universe is a figment of its own imagination.