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,fc52c633190162e0 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!postnews.google.com!n59g2000hsh.googlegroups.com!not-for-mail From: "kevin cline" Newsgroups: comp.lang.ada Subject: Re: why learn C? Date: 29 Mar 2007 21:58:20 -0700 Organization: http://groups.google.com Message-ID: <1175230700.925143.28490@n59g2000hsh.googlegroups.com> References: <1172144043.746296.44680@m58g2000cwm.googlegroups.com> <1172161751.573558.24140@h3g2000cwc.googlegroups.com> <546qkhF1tr7dtU1@mid.individual.net> <5ZULh.48$YL5.40@newssvr29.news.prodigy.net> <1175215906.645110.217810@e65g2000hsc.googlegroups.com> NNTP-Posting-Host: 76.183.124.36 Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" X-Trace: posting.google.com 1175230702 21535 127.0.0.1 (30 Mar 2007 04:58:22 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Fri, 30 Mar 2007 04:58:22 +0000 (UTC) In-Reply-To: User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3,gzip(gfe),gzip(gfe) Complaints-To: groups-abuse@google.com Injection-Info: n59g2000hsh.googlegroups.com; posting-host=76.183.124.36; posting-account=Thx6EwwAAAAirqf96i7UdETSL0vfyj5f Xref: g2news1.google.com comp.lang.ada:14672 Date: 2007-03-29T21:58:20-07:00 List-Id: On Mar 29, 10:09 pm, "Steve" wrote: > "kevin cline" wrote in message > > news:1175215906.645110.217810@e65g2000hsc.googlegroups.com... > > > > > On Mar 20, 12:37 pm, wrote: > >> "Marc Boyer" wrote in message > > > >> It has always seemed rather odd to me that people who are as intelligent > >> as programmers, rarely question the silliness of using tools such as C > >> and C++ for serious work. > >> They simply take for granted that the kind > >> of errors that are so common in those languages are somehow akin to > >> the laws of nature. > > > No, what actually happened is that expert C++ developers learned to > > use C++ in such a way that those errors can not happen. While it is > > possible to write unsafe code in C++, it is also possible to adopt > > coding guidelines that makes it easy to find and eliminate unsafe > > code, and for most applications, that's quite good enough. One reason > > that experts choose C++ over Ada for performance-critical applications > > because C++ templates allow compile-time type safety in high-level > > code in a way that Ada generics do not. > > Please give an example of one case where a C++ template gives more compile > time safety than an Ada generic. I have found just the opposite to be true. Christopher Grein covered the topic thoroughly here: (http://home.t- online.de/home/Christ-Usch.Grein/Ada/Dimension.html) On attempts to achieve compile-time checking of physical units computations in Ada, he wrote: "Our attempt leads us to a plethora of overloaded functions. The number of function definitions afforded runs into the hundreds... So we have to confess that our attempt to let the compiler check equations at compile time has miserably failed." "The big difference is that C++ templates allow type checking during compile-time, so that no overhead neither in memory space nor in runtime is incurred. In this respect, C++ templates ARE MORE POWERFUL than Ada generics." Ada gives you low-level type safety out of the box, but does not afford the tools necessary to achieve type-safety in high-level programming. Low-level C++ coding is not type safe, but C++ provides powerful mechanisms to write high-level type-safe code.