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,fc52c633190162e0 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Newsgroups: comp.lang.ada Subject: Re: why learn C? 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> <1175230700.925143.28490@n59g2000hsh.googlegroups.com> <6XbPh.4025$u03.802@newssvr21.news.prodigy.net> <1175491660.511530.58430@y80g2000hsf.googlegroups.com> <1175566924.442636.199470@o5g2000hsb.googlegroups.com> <4dr6qpo9b7.fsf@hod.lan.m-e-leypold.de> <1176506293.926475.137660@e65g2000hsc.googlegroups.com> From: Markus E Leypold Organization: N/A Date: Sat, 14 Apr 2007 12:57:43 +0200 Message-ID: User-Agent: Some cool user agent (SCUG) Cancel-Lock: sha1:bNpyL3IMhD70hrM97zC1XMBHcPE= MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii NNTP-Posting-Host: 88.72.255.147 X-Trace: news.arcor-ip.de 1176547816 88.72.255.147 (14 Apr 2007 12:50:16 +0200) X-Complaints-To: abuse@arcor-ip.de Path: g2news1.google.com!news3.google.com!out04a.usenetserver.com!news.usenetserver.com!in01.usenetserver.com!news.usenetserver.com!news.tele.dk!news.tele.dk!small.news.tele.dk!news-fra1.dfn.de!newsfeed.arcor-ip.de!news.arcor-ip.de!not-for-mail Xref: g2news1.google.com comp.lang.ada:15036 Date: 2007-04-14T12:57:43+02:00 List-Id: "kevin cline" writes: > On Apr 12, 11:18 am, Markus E Leypold > wrote: >> Hyman Rosen writes: >> > jimmaureenrog...@worldnet.att.net wrote: >> >> I discovered that C++ template language does not allow the >> >> specification of a floating point value as a template parameter. >> >> > In C++, instantiations are considered the same if their >> > parameters are the same, and the standards committee did >> > not want the burden of defining T<3.0*(1.0/3.0)> vis a vis >> > T<1.0>. >> >> We have been through that discussion before. IMHO that this decision >> was even necessarry indicates (in my eyes) the inferiority of the >> automatic instantion approach. > > Automatic instantiation allows one to write very powerful libraries in > C++ that are impractical to implement in Ada. For a good example, see > the SPIRIT parser library (http://www.boost.org/libs/spirit/ > index.html). So the choice can comes down to hundreds of lines of C++ > or thousands of lines of Ada. [] You know what you're talking about? And, BTW, even if it were so, I'm not sure wether I wouldn't go for the longer, readable and perhaps more likely correct code instead of code which is terse, "smart", unreadable and therefore unreviewable and probably wrong. As much issue as I have with some of the culture surrounding Ada (i.e. a kind of corral mentality with respect to a number of topics), the language itself as written in the ARM isn't a problem. The number of instantiations you're referring to can probably be kept under control by using hierarchies of generics and instantiation the whole hierarchy in one line (see e.g. the Booch components). Regards -- Markus