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 autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 146b77,d275ffeffdf83655 X-Google-Attributes: gid146b77,public X-Google-Thread: 103376,d275ffeffdf83655 X-Google-Attributes: gid103376,public X-Google-Thread: 115aec,d275ffeffdf83655 X-Google-Attributes: gid115aec,public From: gwinn@ma.ultranet.com (Joe Gwinn) Subject: Re: Ada vs C++ vs Java Date: 1999/01/18 Message-ID: #1/1 X-Deja-AN: 434252968 References: <369C1F31.AE5AF7EF@concentric.net> <369DDDC3.FDE09999@sea.ericsson.se> <369e309a.32671759@news.demon.co.uk> <77ledn$eu7$1@remarQ.com> <77pnqc$cgi$1@newnews.global.net.uk> <8p64spq5lo5.fsf@Eng.Sun.COM> X-Ultra-Time: 19 Jan 1999 02:32:25 GMT X-Complaints-To: abuse@ultra.net Organization: Gwinn Instruments Newsgroups: comp.lang.ada,comp.vxworks,comp.realtime Date: 1999-01-18T00:00:00+00:00 List-Id: In article , Matthew Heaney wrote: > Mike Coffin writes: > > > Matthew Heaney writes: > > > This is throwing the baby out with the bath-water. Ada95 and C++ are > > > both static languages, just like C. It is no more difficult to > > > statically determine storage requirements using those higher-level > > > languages than it is for C. > > > > > > In this day and age, there is very little reason to continue using C. > > > > Scene: the water cooler in a good sized company. > > Dramatis personae: manager and programmer. > > > > The curtain rises... > > > > manager: You should use C++ or Ada. They're higher level than C. > > > > programmer: But I hate them. > > > > manager: But they're higher level! > > > > programmer: Yeah, right. When it first appeared, Ada was the > > laughingstock of programmers everywhere for its insane > > complexity and C++ has managed to outdo it. > [rest of dialog snipped] > > This response contains no substantive information. If vague criticisms > like "Ada is complex" are the best you can do, then I must conclude that > you don't really know Ada. I think the point being made was that plain vanilla C was less complex than Ada (83 and 95) and also C++. A data point. In the 1980s, this same issue came up with respect to K&R C and Ada83. To avoid unresolvable theological debates, I "weighed" the DEC Ada and DEC C compilers on VAX/VMS. The Ada compiler was ten times larger. This is roughly the ratio of the sizes of their respective language reference manuals as well. So, it would appear safe to conclude that Ada is substantially more complex than plain vanilla C. C++ is quite another matter; my impression is that Ada95 and C++ are of roughly equal size and complexity, although I haven't weighed any compilers. This might be a useful exercise to perform on gnu C, C++, and Ada95 That said, it doesn't automatically follow that complex is bad and simple is good. Assembly language is simpler than any high-order language, but it's lots more work to code in assembly. Yet, people still use assembly. It all depends on one's needs and objectives. In the embedded arena, simpler can be better because simpler systems make fewer assumptions about how the world works, and thus are less likely to make wrong assumptions, ones needing to be truncated and/or worked around at great expense. Also, simpler systems are easier to debug, simply because there is less stuff to understand and whip into shape. In any arena, complex can be better because complex systems do more for you, leaving less to be built and debugged (assuming that the complex stuff doesn't need debugging, which isn't always the case). So, match the solution to the problem. Joe Gwinn