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!news4.google.com!news3.google.com!newshub.sdsu.edu!newscon04.news.prodigy.net!prodigy.net!newsdst01.news.prodigy.net!prodigy.com!postmaster.news.prodigy.com!newssvr14.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> 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: <3CLth.75328$wP1.8787@newssvr14.news.prodigy.net> NNTP-Posting-Host: 70.134.135.166 X-Complaints-To: abuse@prodigy.net X-Trace: newssvr14.news.prodigy.net 1169655295 ST000 70.134.135.166 (Wed, 24 Jan 2007 11:14:55 EST) NNTP-Posting-Date: Wed, 24 Jan 2007 11:14:55 EST Organization: SBC http://yahoo.sbc.com X-UserInfo1: TSU[@SBEQJV]SQ@[EZOD]_\@VR]^@B@MCPWZKB]MPXHTEPIB_NVUAH_[BL[\IRKIANGGJBFNJF_DOLSCENSY^U@FRFUEXR@KFXYDBPWBCDQJA@X_DCBHXR[C@\EOKCJLED_SZ@RMWYXYWE_P@\\GOIW^@SYFFSWHFIXMADO@^[ADPRPETLBJ]RDGENSKQQZN Date: Wed, 24 Jan 2007 16:14:55 GMT Xref: g2news2.google.com comp.lang.ada:8492 Date: 2007-01-24T16:14:55+00:00 List-Id: "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. This capability allows the language to be easily extended to accomodate a large number of kinds of solutions. Expressiveness is, for some kinds of solutions, through the creation of such libraries, not by burdening the language. The type model of Ada does enhance expressiveness since it allows a lot of extensions. There are certainly things I would do differently in that type system, and future languages will come along that improve on Ada. At present, that has not happened -- certainly not with a type model that I like. The visibility rules of Ada allow some powerful constructs for designing large-scale software systems. None of the C family, including C++, is as expressive in this regard. Expressiveness needs to be considered beyond toy programs. Real software systems also evolve. The fact that I can program myself into a corner with some simple code that needs to be rewritten from scratch each time the problem changes a little, can give me the illusion of expressiveness. Real expressiveness includes the ability to easily adapt the software in-place to the changing realities of the environment in which it is deployed. With all its shortcomings, and it does have shortcomings, Ada seems to be have the capacity for being expressive of most kinds of practical software solutions. For many of those solutions, without supporting libraries, it is characterized by expressibility. When one adds libraries written in Ada, we see greater expressiveness. Expressiveness is not always hampered by the language design but by those who have not yet learned how to use that design as it was intended to be used. Richard riehle