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_40,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,96ed71365ee11846 X-Google-Attributes: gid103376,public From: cosc19z5@Bayou.UH.EDU (Spasmo) Subject: Re: Limitations of Ada Date: 1996/08/01 Message-ID: <4tpbo1$r9o@Masala.CC.UH.EDU>#1/1 X-Deja-AN: 171349502 distribution: world references: <96072915521064@psavax.pwfl.com> <4tlpfa$cr9@bagan.srce.hr> organization: University of Houston newsgroups: comp.lang.ada Date: 1996-08-01T00:00:00+00:00 List-Id: Kazimir Majorinc (kmajor@jagor.srce.hr) wrote: : Hello everybody! : This are limitations of Ada: : 1) Not 100 % OO, see Smalltalk Why is this a limitation? Not being 100% OO is not a limitation, it's a design decision. You can use OO in Ada or you can choose not to, this to me is a superior choice to being forced to use OO in a 100% OO language like Smalltalk. : 2) Without distributed objects, see Modula-3 Not quite sure what you mean by this. : 3) Lack of MACROS, see C++ That's an advantage. If you notice in C++ one of the first things they tell you when you get to inlining functions is "Now you don't have to use macros!". Since macros are textual substitution you can really mess things up in a big way. Arguments to function like macros aren't evaluated which can lead to innaccurate results (this is a famous problem of macros, therefore the ugly notation where everything is fully parenthesized in an attempt to combat this deficency), and since macros are just pure textual substitution you can do some very strange things with them that can send readability out the window. You can assemble functions to be called that won't be seen until preprocessing time, you can have really wacked out notation, etc... C can keep its macros, I couldn't care less about them. I've done fine without them in other languages and I have no doubt I will continue to do well without them in the future. : 4) Small number of operators to overload, see C++ This is a two pronged situation. On the one hand you've got a ton of C++ operators which are really useful for saving typing and obfusicating code (something C and C++ are famous for), but in all reality they don't do anything new. ie: ++, --, +=, etc... are just shorthand and can be accomplished by the standard operators +, and -. I was about to get on a tangent about C++ and how the way it treats operators plays havoc with generic functions (requiring ugly hacks and kludges) but I won't :) : 5) Lack of multiple inheritance, see C++ There are those who would say this is an advantage. Even in C++ folks recommend that if you use multiple inheritance, you do so very sparingly and if I'm not mistaken there was serious consideration as to whether or not include this "feature" since many say it does more harm than good. : 6) Big language, see BASIC Even if it is, so what? As long as a language is easy to use, powerful, and helps me produce better programs, I couldn't care less about the size. : But, I love her more than C++ although I did wrote only 'hello world' : in Ada. I've done more, and while I'm still an Ada newbie, I can say that this is one sweet language. The more I look at Ada, the more I look down on C and C++. : ________________________________________________ : Author: Kazimir Majorinc, : Education: dipl. ing. mathematics : Address: Vinagorska 7, : 10 000 Zagreb, : Croatia. : Work: prof. math. & comp.sci. : XIII. Gimnazija, Zagreb, Croatia : E-mail address: Kazimir.Majorinc@public.srce.hr : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ : One who know the secret of the seventh stair -- Spasmo "Everyone has secrets, but sometimes you get caught, So if it's just between us, my silence can be bought" "Blackmail" by Sloppy Seconds