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-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 109fba,304c86061dc69dba X-Google-Attributes: gid109fba,public X-Google-Thread: 103376,5cb36983754f64da X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2004-02-11 02:13:07 PST Path: archiver1.google.com!news2.google.com!newsfeed2.dallas1.level3.net!news.level3.com!crtntx1-snh1.gtei.net!news.gtei.net!newsfeed1.easynews.com!easynews.com!easynews!border1.nntp.sjc.giganews.com!nntp.giganews.com!local1.nntp.sjc.giganews.com!nntp.adelphia.com!news.adelphia.com.POSTED!not-for-mail NNTP-Posting-Date: Wed, 11 Feb 2004 04:12:41 -0600 From: Jerry Coffin Newsgroups: comp.lang.ada,comp.lang.c++ Subject: Re: No call for Ada (was Re: Announcing new scripting/prototyping language) Date: Wed, 11 Feb 2004 03:19:29 -0700 Message-ID: References: <20040206174017.7E84F4C4114@lovelace.ada-france.org> <54759e7e.0402071124.322ea376@posting.google.com> <2460735.u7KiuvdgQP@linux1.krischik.com> Organization: TAEUS X-Newsreader: MicroPlanet Gravity v2.50 NNTP-Posting-Host: 68.64.173.106 X-Trace: sv3-YgbwJ/6PFLjCmMyJVDHgkM7SJg3gcHsEAlMETIXZUG1aaaXrTreTf83PPPuhrAhhnXH5+Wa3n9ZRLn9!qSu+rFdezHPUDVsXGI7vrPkcvNYaDi/AVGDYeLnHqbzV+xm+GotoanNngFLklkmRtS1au51zPW9r!A9BE13TozKcXA1zVDynnIiY= X-Complaints-To: abuse@adelphia.com X-DMCA-Complaints-To: abuse@adelphia.com X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.1 Xref: archiver1.google.com comp.lang.ada:5424 comp.lang.c++:18643 Date: 2004-02-11T03:19:29-07:00 List-Id: In article <2460735.u7KiuvdgQP@linux1.krischik.com>, krischik@users.sourceforge.net says... [ ... ] > Shure you can. Ada invented templates long bevore C++ was even though of. It's clearly true that Ada had generics before C++ did, but not (it would appear) before Bjarne had started to come up with the ideas for what eventually came to be known as C++. In point of fact, Bjarne seems to have started working toward C++ around the time of the Ironman document, which clearly predates the final Ada design. Ada didn't invent generic programming either -- just for example, Lisp has supported generic programming (to some degree or other) since about 1959 or so. Many have argued over how sanitary all its facilities are, but the fact remains that the basic idea clearly predates Ada by quite a wide margin. > Ada templates are far more powerfull then C++. Experience tends to indicate otherwise. In point of fact, Alexander Stepanov had a great deal of input into the design of templates in C++, largely because Ada generics didn't support what he wanted. Other large projects have reflected the same difference. Just for example, the Booch components started out in Ada 83, got ported to C++, and then ported back to Ada (95). The original Ada version was ~125,000 lines of code. The C++ version was about 12,000 lines of code. It's easy to find estimates that the Ada 95 version should be about 10,000 lines of code. For better or worse, these seem to be incorrect: the current version of BC for Ada 95 seems to some out somewhere between 15,000 and 18,000 non-comment, non-blank lines of code. I haven't had the time to go through in detail, but it _appears_ that even so, there are still some missing pieces. I think it's also worth noting that C++ templates have changed (and understanding of them has improved) considerably since the Booch components were ported to C++. If the same job were being done today, line counts and such would undoubtedly be somewhat different. I AM reasonably convinced, however, that Ada generics are more _accessible_, so they provide more power to a typical programmer. Using more than a fraction of the capabilities of C++ templates requires substantially more study. -- Later, Jerry. The universe is a figment of its own imagination.