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=unavailable autolearn_force=no version=3.4.4 X-Received: by 2002:a24:ba09:: with SMTP id p9-v6mr7910666itf.48.1531091845269; Sun, 08 Jul 2018 16:17:25 -0700 (PDT) X-Received: by 2002:aca:c744:: with SMTP id x65-v6mr4331185oif.2.1531091845088; Sun, 08 Jul 2018 16:17:25 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!border1.nntp.ams1.giganews.com!nntp.giganews.com!feeds.phibee-telecom.net!newsfeed.xs4all.nl!newsfeed7.news.xs4all.nl!85.12.16.69.MISMATCH!peer02.ams1!peer.ams1.xlned.com!news.xlned.com!peer02.am4!peer.am4.highwinds-media.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!d7-v6no5963472itj.0!news-out.google.com!z3-v6ni5928iti.0!nntp.google.com!g2-v6no2889577itf.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Sun, 8 Jul 2018 16:17:24 -0700 (PDT) In-Reply-To: <3a162a7e-4e87-4fb5-9b39-423811271ef3@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=47.185.195.62; posting-account=zwxLlwoAAAChLBU7oraRzNDnqQYkYbpo NNTP-Posting-Host: 47.185.195.62 References: <856189aa-fa00-4960-929e-174f352310ad@googlegroups.com> <2718c8d4-5f35-4fd8-a1aa-1e60069a7a5d@googlegroups.com> <39fce60c-9f56-42fb-b679-fa08810b00ee@googlegroups.com> <3701bf07-89a5-4cb0-a704-5aebb589ca79@googlegroups.com> <2f5e4ce0-94e8-4b94-9da7-045ec90a9b22@googlegroups.com> <9bb99fb4-b9c7-4516-97b5-da41466e96be@googlegroups.com> <1162d6bf-c226-4089-ae2e-870c7da9c80f@googlegroups.com> <2f5399b4-518b-4a2e-9941-2ae267d51309@googlegroups.com> <1ab5db5c-7892-40a8-ae36-ca1ec1168768@googlegroups.com> <3a162a7e-4e87-4fb5-9b39-423811271ef3@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <40511d29-6469-4ce3-a948-e4a79196968c@googlegroups.com> Subject: Re: Teaching C/C++ from Ada perspective? From: "Dan'l Miller" Injection-Date: Sun, 08 Jul 2018 23:17:25 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Received-Bytes: 8693 X-Received-Body-CRC: 1663229840 Xref: reader02.eternal-september.org comp.lang.ada:53736 Date: 2018-07-08T16:17:24-07:00 List-Id: On Sunday, July 8, 2018 at 3:43:48 PM UTC-5, Maciej Sobczak wrote: > > What an incredibly jaw-dropping disregard of history. >=20 > On the other hand, declaring that the leading (and in some sense the only= ) Ada compiler is broken and that the only Ada compiler worth its name is R= 1000 is a jaw-dropping disregard of the present. >=20 > > It is =E2=80=A2as if=E2=80=A2 you didn't live through the 1980s [...] y= ou didn't live in the USA >=20 > I didn't. And I don't feel the slightest regret for this. > Let me get it straight: >=20 > You might consider C You misspoke there: C++, not C. > to be an ultimate disaster, especially when regarded from the Steelman pe= rspective. > This example shows that there is more than one way to practice the art of= software engineering and I > don't think that any single set of requirements, written some 40 years ag= o, can cut it for absolutely > everybody, in every possible context. This is the reason why, even at the= risk of being condemned by > your church, I official disregard Steelman as the only valid benchmark fo= r measuring the usefulness of > programming languages *today*. You say this only because not one single entity on the planet ever wrote an= other/better set of requirements of what is and is not a scientifically-bas= ed measurement system of a programming language that facilitates software e= ngineering. There have been attempts to define what is a better hacker's h= acking language (e.g., Jia, Go, even Java, Swift, and Kotlin to some degree= , as attempts at the improved hacker's hacking language when compared to C)= , and a few of them have some valid points about =E2=80=9Cfriction=E2=80=9D= and the like. But not one single language-agnostic software-engineering-m= easurement-system competitor to Steelman has ever arisen from any deep-pock= ets agency or billionaire. > since I don't see any hope of finding any common ground, I can only agree= to disagree. https://www.dwheeler.com/essays/make-it-simple-dewar.html Hey, speaking of all that we agree on is that we disagree with each other, = the above is a WWWpage that we can each look at and reach diametrically opp= osing conclusions. In Wheeler's praise for the awesome astounding genius o= f GNAT's multi-dozen pass compilation technique as a =E2=80=9Cbreakthrough= =E2=80=9D of accomplishment for the advance of feats possible by perfection= in engineering as the pinnacle of human development (i.e., the stone-age, = the iron-age, the bronze-age, the industrial-age, the space age, and now th= e multi-dozen-pass-compiler-age), you can look at it as defense of all of y= our positions, whereas I can look at it as direct evidence of where C++'s d= evolutionary retrograde influence on Ada compilers has been to undermine so= ftware engineering in general and Ada specifically. > > Oh, we are helping him very very much. We are showing him in its full = glory what a mess C++ is. >=20 > Nope. You did not show *any* single code example, in any language. I have= presented code snippets in both languages to demonstrate my arguments. I gave 125 examples of weak spots in C++ accumulated over 3 books by Scott = Meyers. I gave an 852-page tome that itemizes countless dozens of weakness= es in C++ for supposedly its main claim to fame: software engineering of e= normously large software systems for which C's level of sophistication is t= oo simplistic & barbaric. You want even longer postings? Here is yet another book where C++'s warts are inventoried and then work-ar= ounds celebrated as a series of minor victories over C++'s morasses: _Imperfect C++: Practical Solutions for Real-Life Programming_ by Matthew W= ilson http://blog.ImperfectCPlusPlus.com > > Any good teacher of C++ looking at all the replies in this thread >=20 > Anybody who was about to consider Ada and has read that: >=20 > - the leading Ada compiler is broken, There exist quite a few postings to c.l.a where the current state of the fr= ont-runner Ada compiler is lamented, even to the point of trying to figure = out how a disruptor competitor could conceivably come into existence, espec= ially an LLVM-based one. > - the only Ada compiler worth its name is archaic and does not support an= y of the features that > supposedly make Ada competitive today Apex Ada supports Ada2005. > - one needs 6M$ to get it which would be mere pennies on the dollar compared to the tens or hundreds = of millions of dollars expended by even the largest C++ vendor, let alone t= he next 9 on the top-10 list > - or one needs to buy the compiler from some other company that does not = even bother to inform the > public that they sell it > - and so on... >=20 > (because this is all that I have "learned" in this thread) >=20 > will run away from Ada as fast as they can. There is absolutely no chance= you can ever convince > anybody to switch to Ada if the only thing you have on offer is the unpre= cedented hatred towards C++ No, I am a collector of sorts. My collection is an unprecedented list of t= he locations of where C++ buried the bodies in its crimes against software = engineering. Ada is the best thing that I have found to being a crime-scen= e-investigator lab to dissect all the evidence, figuring out where the C++ = deviants went awry in their =E2=80=98breaking bad=E2=80=99. The ultimate goal is 1) to get people to run away from C++ as fast as they = can (preferably e.g., to Ada or to Rust, not to scripting/bytecode language= s) and 2) to figure out: How do we solve a problem like Maria? er, GNAT. > and a point of view that seemingly got stuck several decades ago. With ar= guments like above, this > thread has become the parody of Ada advocacy. Actually, I believe that yo= u are making a substantial > damage to Ada with that kind of arguments. I'm afraid you don't realize t= his. >=20 > > =E2=80=9CGee, I really must help my students avoid those morasses in C+= +.=E2=80=9D >=20 > You did not show any morasses in C++. Then you did not click on any of the URLs that I provided. Or if you did, = you did not read with comprehension. > You have mentioned some, but I have demonstrated they exist in > Ada, too. How is this going to help? >=20 > I propose to make this discussion actually concrete [***] or close it. >=20 > [***] In short: show the code. The books that I have listed in the comments above provide literally hundre= ds of code snippets of C++'s weaknesses to be avoided at practically all co= sts, especially the UBs that can evoke C++'s carte-blanche/as-if rule. You= seem to have me & c.l.a confused with a book publisher.