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.6 required=5.0 tests=BAYES_00,TO_NO_BRKTS_FROM_MSSP autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,fe82bd3a72926e1a X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-10-15 14:44:08 PST Path: archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!newsfeed.direct.ca!look.ca!sfo2-feed1.news.digex.net!intermedia!news-out.spamkiller.net!propagator-la!news-in-la.newsfeeds.com!newsranger.com!www.newsranger.com!not-for-mail Newsgroups: comp.lang.ada From: Ted Dennison References: <9q223u$lap2j$1@ID-77397.news.dfncis.de> <87ofn8a9dv.fsf@deneb.enyo.de> Subject: "Size" of Ada vs. C++ Message-ID: X-Abuse-Info: When contacting newsranger.com regarding abuse please X-Abuse-Info: forward the entire news article including headers or X-Abuse-Info: else we will not be able to process your request X-Complaints-To: abuse@newsranger.com NNTP-Posting-Date: Mon, 15 Oct 2001 17:43:35 EDT Organization: http://www.newsranger.com Date: Mon, 15 Oct 2001 21:43:35 GMT Xref: archiver1.google.com comp.lang.ada:14606 Date: 2001-10-15T21:43:35+00:00 List-Id: In article <87ofn8a9dv.fsf@deneb.enyo.de>, Florian Weimer says... > >I'm not sure if this is true if you look at the language core only >(and don't take into account any non-essential run-time library >components, such as containers or valarrays). Then explain in one simple paragraph how C++ constructors and destructors work (how they are invoked, what you have to do to make one "default", how you prevent their use in parameter passing or as implicit casts, how you have to invoke the parent's constructors from the constructor of a child, how to ensure all destructors in a object's type hierarchy get called during delete, etc.) This is all stuff that is pretty much required for basic C++ programming, and its more arcane and exception-riddled than most English spelling rules. If we throw out annex-based libraries as you suggest, Ada doesn't even *have* constructors and destructors to talk about. :-) Or we can compare the "cast system" of the two languages. Ada's rule is pretty simple: the types have to be derived from each other, or predefined numeric types. C++ on the other hand, has at least 3 different types of cast, plus an old fashioned implicit one. To make things more interesting, constructor writers can inadvertently create new implicit ones if they aren't careful... I'm not saying all this extra stuff in C++ is *bad*. But there certianly is way more of it. --- T.E.D. homepage - http://www.telepath.com/dennison/Ted/TED.html No trees were killed in the sending of this message. However a large number of electrons were terribly inconvenienced.