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: g2news1.google.com!news3.google.com!newshub.sdsu.edu!newscon04.news.prodigy.net!prodigy.net!newsdst01.news.prodigy.net!prodigy.com!postmaster.news.prodigy.com!newssvr11.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> <87sle0sv9o.fsf@ludovic-brenta.org> <45B761D2.1090509@obry.net> <0iy7nsfpic.fsf@hod.lan.m-e-leypold.de> <45B795EE.3040700@obry.net> <45B7A0ED.3050303@obry.net> <7izm88kygo.fsf@hod.lan.m-e-leypold.de> <45B7B90A.7040401@obry.net> 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.112.39 X-Complaints-To: abuse@prodigy.net X-Trace: newssvr11.news.prodigy.net 1174270188 ST000 70.134.112.39 (Sun, 18 Mar 2007 21:09:48 EST) NNTP-Posting-Date: Sun, 18 Mar 2007 21:09:48 EST Organization: SBC http://yahoo.sbc.com X-UserInfo1: O@Y[R^[GZRRER_H]]RKB_UDAZZ\DPCPDLXUNNHDK@YUDUWYAKVUOPCW[ML\JXUCKVFDYZKBMSFX^OMSAFNTINTDDMVW[X\THOPXZRVOCJTUTPC\_JSBVX\KAOTBAJBVMZTYAKMNLDI_MFDSSOLXINH__FS^\WQGHGI^C@E[A_CF\AQLDQ\BTMPLDFNVUQ_VM Date: Mon, 19 Mar 2007 02:09:48 GMT Xref: g2news1.google.com comp.lang.ada:14553 Date: 2007-03-19T02:09:48+00:00 List-Id: I came across an article in a recent book by Joel Spolsky with an article titled, "C++. The Forgotten Trojan Horse," by Eric Johnson. Spolsky's book is titled "The Best Software Writing I," and it is published by Apress. The article begins, "I find C++ interesting. No, not because my compiler can spit out an incoherent set of errors ... there's a lesson to be learned about how it conquered an existing community." Johnson makes a good case for the insidious way that C++ found its way to dominance, not because of its superiority as a programming language but for entirely different reasons. A language achieves popularity or is ignored according to a set of circumstances that are quite independent of what any adopter of that language might consider as quality. It would seem that quality is the last factor to be considered, otherwise, C++ would never have become so dominant. In more recent times, Java has campaigned for the role of dominant language. However, Java is even more bureaucratic than Ada and even the simplest tasks are swollen into excessive syntactic and structural absurdities. More recently, I am seeing a trend away from C++ and Java toward more "agile" languages such as Python and Ruby. In particular, Ruby seems to have captured the interest of anyone who has looked carefully at it. Python is wonderfully easy to learn, and powerful in what can be done in a few lines of code. I particularly like the fact that functions are first-class objects since, for mathematical programming, I like to use functional programming. Ruby is the same in this respect. What I have noticed, though, is that these easy-to-use languages do not scale-up as well for really large software systems as C++, Eiffel, and Ada. Advocates of Python and Ruby disagree, of course, but advocacy is not a good reason to believe them. Also, those who prefer Python and Ruby seem to have rejected the importance of type-safety, at least in the literature. As I read their objections to type-safety, it is clear that they are framing those objections in their experience with C/C++ (where type safety is a hideous joke) or Java (where type-safety falls short of what one would find in Ada). So, the two languages that seem to best scale up for safety-critical software are still Eiffel and Ada. I have come to believe that C++ should always be the language of last resort for any serious programming project. Java has a place, but it is in a twilight zone that is often better filled with Python or Ruby. We could lose Java today and the world would not be worse-off for it because Ruby would easily fill the void. What does a programmer choose as the language s/he uses at home or for recreational programming? Many in this forum choose Ada. However, even those in this forum, as they discover Python and Ruby, are probably enjoying the option of making small programs work quickly and easily for everything from CGI to sockets. This does not answer the question of why Ada is not more popular, but one could pose an alternative question of why an error-prone language should have ever become so popular. Why would anyone choose a language that is error-prone and expect an outcome that is error-free. Perhaps error-free software is not a goal. Perhaps the goal is to simply see how much code we can lay down in given period of time. Richard Riehle