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,703c4f68db81387d X-Google-Thread: 109fba,703c4f68db81387d X-Google-Thread: 115aec,703c4f68db81387d X-Google-Thread: f43e6,703c4f68db81387d X-Google-Attributes: gid103376,gid109fba,gid115aec,gidf43e6,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news3.google.com!news.glorb.com!mpls-transit-01.news.qwest.net!feed.news.qwest.net!news.uswest.net.POSTED!not-for-mail Newsgroups: comp.lang.ada,comp.lang.c++,comp.realtime,comp.software-eng Subject: Re: Teaching new tricks to an old dog (C++ -->Ada) From: Jared References: <4229bad9$0$1019$afc38c87@news.optusnet.com.au> <1110032222.447846.167060@g14g2000cwa.googlegroups.com> <871xau9nlh.fsf@insalien.org> <3SjWd.103128$Vf.3969241@news000.worldonline.dk> <87r7iu85lf.fsf@insalien.org> <1110052142.832650@athnrd02> <1110284070.410136.205090@o13g2000cwo.googlegroups.com> <395uqaF5rhu2mU1@individual.net> <1111607633.301232.62490@z14g2000cwz.googlegroups.com> <1111628011.160315.134740@o13g2000cwo.googlegroups.com> Organization: None User-Agent: Xnews/5.04.25 Message-ID: Date: Fri, 25 Mar 2005 04:40:24 GMT NNTP-Posting-Host: 65.100.229.45 X-Trace: news.uswest.net 1111725624 65.100.229.45 (Thu, 24 Mar 2005 22:40:24 CST) NNTP-Posting-Date: Thu, 24 Mar 2005 22:40:24 CST Xref: g2news1.google.com comp.lang.ada:9962 comp.lang.c++:47176 comp.realtime:1707 comp.software-eng:5318 Date: 2005-03-25T04:40:24+00:00 List-Id: jayessay wrote in > Lisp macros are _not_ a > Lisp macros are full > Things like C/C++ preprocessor/"macro" simplistic text > substitutions are not > You can literally create > You can also > None of this is at all doable _in_ things like > You would have to write a And that is why $YOUR_LANGUAGE should allow arbitrary array indices. Or should have all types be anonymous. Or should use structural type equivalence. Or should combine data and method declarations for object types. Or should have a preprocessor. Or infer all types. Or whatever. Just like $MY_LANGUAGE. There's a reason I don't use your language. I assume there's a reason you don't use mine. In my case, it's because I'm a hobbyist; I go with whatever appeals to me. ML does and so does Piccola, and so do Cecil and Aldor, to a certain extent, and I'll learn them when I get around to it. I'm here because Ada appeals to me, although that's obscured by the cross-posting. Most of the people here seem to be professionals; they use whatever they're told to use. Thus the cynical comments about Ada and C++, describing the way they were, rather than the way they are now. > Robert Duff made a comment a while ago about how silly most (I would > say without much hyperbole 99+%) of the points in these threads would > be to Lisp (and Smalltalk) folks. I couldn't agree more. You are all > arguing over differences that mean almost nothing looked at from these > other perspectives. This is quite correct, but also largely irrelevant. The general context of a language flamewar is that every feature $YOUR_LANGUAGE has that $MY_LANGUAGE doesn't have is unnecessary, and a clear sign of its inferiority. Any feature $MY_LANGUAGE has that $YOUR_LANGUAGE lacks is absolutely essential, and a clear sign of its superiority. A functional language like Lisp lacks many of the features being argued about here; the obvious conclusion is that Ada and C++ are painfully inferior. Similarly, most of Lisp's features, such its the macro system or Currying, are absent from the imperative languages; a clear sign of Lisp's superiority. Yes, a person can do all kinds of neat things in Lisp. A good programmer can do all kinds of neat things elegantly in any language, and a bad programmer cannot. In the interest of full disclosure, I should add that I am not a good programmer. > And the level > of _expressive capability_ in Aldor? > is so > _low_ that it again is simply amazing to see people so vehemently > arguing over differences that are almost invisible. I'm sure you meant expressive convenience. Turing completeness ensures that "_expressive capability_" is equivalent, at least, for functional computation. On the other hand, you seem so vehement about it, I'm not really sure. I've already dealt with the conclusion I draw from your personal expressive capability in these languages. Anyway, first, a quote: "The sooner we can forget that FORTRAN has ever existed, the better, for as a vehicle of thought it is no longer adequate: it wastes our brainpower, is too risky and therefore too expensive to use." - E.W. Dijkstra, EWD 340 The arguments being carried on here echo this complaint. Implicit in the arguments for both sides is that the one wastes brainpower while the other conserves it. That's fairly important, given that brainpower is the only tool a programmer really has. As for myself, I side with Ada, and provide as evidence the followup to one of the many code fragments in this thread. "A clever trick." Dijkstra again: "The competent programmer is fully aware of the strictly limited size of his own skull; therefore he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague."