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.3 required=5.0 tests=BAYES_00,INVALID_MSGID, MSGID_RANDY autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,81cf52699486abe7 X-Google-Attributes: gid103376,public From: Robert Dewar Subject: Re: Ada95 Strengths/Weaknesses. Date: 1999/09/28 Message-ID: <7sp914$ago$1@nnrp1.deja.com>#1/1 X-Deja-AN: 529855708 References: <37EED7B8.245C0054@yukyonline.co.yuky> <7smp30$9aa1@news.cis.okstate.edu> X-Http-Proxy: 1.0 x30.deja.com:80 (Squid/1.1.22) for client 205.232.38.14 Organization: Deja.com - Before you buy. X-Article-Creation-Date: Tue Sep 28 02:26:55 1999 GMT X-MyDeja-Info: XMYDJUIDrobert_dewar Newsgroups: comp.lang.ada X-Http-User-Agent: Mozilla/4.04 [en] (OS/2; I) Date: 1999-09-28T00:00:00+00:00 List-Id: In article <7smp30$9aa1@news.cis.okstate.edu>, dstarner98@aasaa.ofe.org wrote: > * Type safety makes it harder for some stuff to get done - > i.e. it's impossible to make a type look exactly like a number > in Ada, That is just a false statement. Unchecked conversion allows you to do anything in this area you can do in C++. Yes, some uses of unchecked conversion in Ada are implementation dependent, but no more so or less so than the corresponding casts in C++. > but trivial in C++. Two comments: one, yes the syntax is trivial in C++, and this is something I would list as a disadvantage of C++, not an advantage. It is far too easy to break the type model in C++. > * C++ includes several somewhat experimental features > (template specilization, > multiple inheritance) that Ada designers considered too > experimental or > specialized to add. Well I think you need to give examples here. Many people would regard the multiple inheritance in C++ to be a disadvantage for three reasons: 1. The OO model is much cleaner if only single inheritance is used, so the semantics is much simpler. This is why many OO languages deliberately avoid supporting MI. 2. The MI model in C++ is one of several. Having a specific model built into the language is unhelpful if your problem is best handled by some different model. 3. In most C++ compilers, you pay a price in distributed overhead for this feature, even if you do not use multiple inheritance. > Disadvantages vs. C & C++ > * Large base of installed libraries. If you can find a Ada library that does > what you need to do (not unlikely, but not as likely as for C or C++ - and it's > probably a wrapper around a C library), it probably won't come precompiled and > set up for your system It seems far preferable to find libraries in source form, for many reasons! Robert Dewar Ada Core Technologies Sent via Deja.com http://www.deja.com/ Before you buy.