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.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,21960280f1d61e84 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news3.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newscon02.news.prodigy.net!prodigy.net!newsdst01.news.prodigy.net!prodigy.com!postmaster.news.prodigy.com!newssvr27.news.prodigy.net.POSTED!4988f22a!not-for-mail From: Newsgroups: comp.lang.ada References: <1169531612.200010.153120@38g2000cwa.googlegroups.com> <1169588206.234714.312650@k78g2000cwa.googlegroups.com> <1169624573.534128.172610@s48g2000cws.googlegroups.com> <3CLth.75328$wP1.8787@newssvr14.news.prodigy.net> <1169684558.876074.40530@s48g2000cws.googlegroups.com> Subject: Re: How come Ada isn't more popular? X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.2180 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180 X-RFC2646: Format=Flowed; Original Message-ID: NNTP-Posting-Host: 70.134.135.166 X-Complaints-To: abuse@prodigy.net X-Trace: newssvr27.news.prodigy.net 1169705071 ST000 70.134.135.166 (Thu, 25 Jan 2007 01:04:31 EST) NNTP-Posting-Date: Thu, 25 Jan 2007 01:04:31 EST Organization: SBC http://yahoo.sbc.com X-UserInfo1: [[PA@SBEQJV]SQ@[EZOD]_\@VR]^@B@MCPWZKB]MPXHBTWICYFWUQBKZQLYJX\_ITFD_KFVLUN[DOM_A_NSYNWPFWNS[XV\I]PZ@BQ[@CDQDPCL^FKCBIPC@KLGEZEFNMDYMKHRL_YYYGDSSODXYN@[\BK[LVTWI@AXGQCOA_SAH@TPD^\AL\RLGRFWEARBM Date: Thu, 25 Jan 2007 06:04:31 GMT Xref: g2news2.google.com comp.lang.ada:8533 Date: 2007-01-25T06:04:31+00:00 List-Id: "kevin cline" wrote in message news:1169684558.876074.40530@s48g2000cws.googlegroups.com... > > > On Jan 24, 10:14 am, wrote: >> "kevin cline" wrote in message > >> > Yes, I've read that article. It would really be sad if Ada were not >> > superior to C for a toy problem in embedded control system development, >> > since Ada was designed specifically for that purpose. But the point >> > was that expressiveness drives programmers to new languages, and Ada >> > isn't particularly expressive.It depends on what you want to express. >> > Expressiveness, like beauty, >> is often "in the eye of the beholder." For many software professionals, >> the absence of curly-braces makes a language less expressive. For >> others, their presence is a problem. For some, brevity is a sign of >> expressiveness. For others, ease of understanding on the part of a >> reader is important to expressiveness. >> >> I do know a lot of languages, including many in the C family. I have >> programmed in COBOL, Fortran, PL/I, BASIC, Python, and many >> others. I teach a class in comparative programming languages. >> >> An important distinction to be made is expressibility versus expressiveness. >> The fact that I can express a solution in Fortran that is better suited to >> being >> expressed in COBOL does not mean that Fortran is expressive. When >> a solution is possible, that makes it expressible. When the language is >> designed to express such solutions, that makes it expressive -- for that >> kind of problem. >> >> Languages evolve to become more expressive. Fortran has evolved. COBOL >> has evolved. Ada has evolved. Even Java continues to evolve. Some >> languages >> seem not to evolve and remain stagnent. PL/I comes to mind. Some >> programmers >> do not evolve, and they also become out-of-date. >> >> As languages evolve some tend to get better at being more directly >> expressiveof >> a larger range of solutions. Not all languages evolve well. In my view, >> C++ >> has not become better with its most recent "improvements." >> >> Ada is expressive of a large number of solutions that are more difficult to >> express in C or other languages. However, the base language is not as >> expressive as Perl for regular expressions. That has required a separate >> library unit. It is not as directly expressive of mathematical solutions as >> Fortran. That too requires library units. All the fundamental constructs >> are in place to create powerful library units. > > Not as powerful as I would like, and definitely not as powerful as C++ > templates. But safer than C++, overall. And safer than C++ templates. >Christopher Grein demonstrated this conclusively in his > paper on modeling scientific units in Ada. C++ templates allow the > straightforward construction of a compile-time safe system of physical > units, allowing arbitrary computations, while Ada's explicit > instantiation model forced one to rely on run-time checking. > I have not read Christopher Grein's paper, and from what I know of C++ and C++ templates, I am skeptical of the notion of it being compile-time safe under any circumstances. I suppose one could write some very careful code to make that true, but the language itself is not inherently safe. I have not had the experience of having to rely on run-time checking for templates. In fact, my own experience of generics is that they tend to enforce a great deal of checking at compile-time. That being said, C++ templates do allow more complex variations on genericity, and that does not contribute to type-safe software. The whole point of Ada is to allow the maximum amount of checking at compile-time. In fact, the point of the language design is to maximize the amount of checking possible over the entire system as early in the development as possible. C++ does not support anything close to that goal except in a few isolated places within the langauge design. We would want to evaluate the language as a whole, not one or two features. We can compare C++ to Visual Basic and make Visual Basic come out ahead. We can compare Ada to COBOL and make COBOL come out ahead. In both cases, it will depend on our criteria and what we decide to compare. As to power. With Ada you get more power, safely, than you do in C++ or Java. Empowering a language, while making it less safe is not a good thing. As for Grein's paper, which I will take the time to read, it is my experience that one can make a case quite nicely by stacking the evidence in a particular way. I will try to find a copy of the paper and make my own judgement about that. Richard Riehle