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=-2.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, MAILING_LIST_MULTI autolearn=unavailable autolearn_force=no version=3.4.4 X-Google-Thread: 103376,703c4f68db81387d X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news1.google.com!proxad.net!usenet-fr.net!enst.fr!melchior!cuivre.fr.eu.org!melchior.frmug.org!not-for-mail From: Marius Amado Alves Newsgroups: comp.lang.ada Subject: Re: Teaching new tricks to an old dog (C++ -->Ada) Date: Thu, 10 Mar 2005 13:32:10 +0000 Organization: Cuivre, Argent, Or Message-ID: 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> <395uqaF5rhu2mU1@individual.net> <1110377260.350158.58730@z14g2000cwz.googlegroups.com> <422f0c08$1_1@baen1673807.greenlnk.net> <1110421853.766292@athnrd02> <4%PXd.358789$w62.304065@bgtnsc05-news.ops.worldnet.att.net> <1110429670.232319@athnrd02> <1110447646.716725@athnrd02> <4230212c$0$26538$9b4e6d93@newsread4.arcor-online.net> <1110451882.739920@athnrd02> <423037a9$0$26552$9b4e6d93@newsread4.arcor-online.net> <1110457103.995140@athnrd02> NNTP-Posting-Host: lovelace.ada-france.org Mime-Version: 1.0 (Apple Message framework v619.2) Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit X-Trace: melchior.cuivre.fr.eu.org 1110461568 63287 212.85.156.195 (10 Mar 2005 13:32:48 GMT) X-Complaints-To: usenet@melchior.cuivre.fr.eu.org NNTP-Posting-Date: Thu, 10 Mar 2005 13:32:48 +0000 (UTC) Cc: comp.lang.ada@ada-france.org To: Ioannis Vranos Return-Path: In-Reply-To: <1110457103.995140@athnrd02> X-Mailer: Apple Mail (2.619.2) X-OriginalArrivalTime: 10 Mar 2005 13:32:11.0991 (UTC) FILETIME=[90C13670:01C52575] X-Virus-Scanned: by amavisd-new-20030616-p10 (Debian) at ada-france.org X-BeenThere: comp.lang.ada@ada-france.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Gateway to the comp.lang.ada Usenet newsgroup" List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Xref: g2news1.google.com comp.lang.ada:9036 Date: 2005-03-10T13:32:10+00:00 > Template metaprogramming is a very useful field. Yes. Generic programming. This is a worth discussing issue in a an Ada v.s C++ battle. (Forget libraries being or not being implemented in the language, forget inlining, these are trivial issues. Of course Ada.Containers is written in Ada, and of course the crucial operations are inlined.) Now, generics. We should keep in mind that the STL begun life as an Ada library. See the famous Stepanov interview at http://www.sgi.com/tech/stl/drdobbs-interview.html His contact with Ada generics was crucial for the development of C++ templates and the STL. He move to C/C++ for career reasons and basically he (consulting with Stroutstrup) created C++ templates because he needed generics in C++ to do there what he had done in Ada! Of course along the way C++ generics was made very different from Ada's. In general more powerful. Less safe? I don't know. Two limitations of Ada 95 generics are: a generic cannot be instantiated inside itself; the generic formal types must match, not just the actuals. I think Ada 2005 did not change this directly, but she has a couple of new tricks e.g. interfaces that might help circumvent it.