comp.lang.ada
 help / color / mirror / Atom feed
From: "Dan'l Miller" <optikos@verizon.net>
Subject: Re: Teaching C/C++ from Ada perspective?
Date: Sun, 8 Jul 2018 16:17:24 -0700 (PDT)
Date: 2018-07-08T16:17:24-07:00	[thread overview]
Message-ID: <40511d29-6469-4ce3-a948-e4a79196968c@googlegroups.com> (raw)
In-Reply-To: <3a162a7e-4e87-4fb5-9b39-423811271ef3@googlegroups.com>

On Sunday, July 8, 2018 at 3:43:48 PM UTC-5, Maciej Sobczak wrote:
> > What an incredibly jaw-dropping disregard of history.
> 
> 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 R1000 is a jaw-dropping disregard of the present.
> 
> > It is •as if• you didn't live through the 1980s [...] you didn't live in the USA
> 
> I didn't. And I don't feel the slightest regret for this.
> Let me get it straight:
> 
> You might consider C

You misspoke there:  C++, not C.

> to be an ultimate disaster, especially when regarded from the Steelman perspective.

> 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 ago, 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 for measuring the usefulness of
> programming languages *today*.

You say this only because not one single entity on the planet ever wrote another/better set of requirements of what is and is not a scientifically-based measurement system of a programming language that facilitates software engineering.  There have been attempts to define what is a better hacker's hacking 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 “friction” and the like.  But not one single language-agnostic software-engineering-measurement-system competitor to Steelman has ever arisen from any deep-pockets 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 opposing conclusions.  In Wheeler's praise for the awesome astounding genius of GNAT's multi-dozen pass compilation technique as a “breakthrough” 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 the multi-dozen-pass-compiler-age), you can look at it as defense of all of your positions, whereas I can look at it as direct evidence of where C++'s devolutionary retrograde influence on Ada compilers has been to undermine software 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.
> 
> 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 weaknesses in C++ for supposedly its main claim to fame:  software engineering of enormously large software systems for which C's level of sophistication is too simplistic & barbaric.  You want even longer postings?

Here is yet another book where C++'s warts are inventoried and then work-arounds celebrated as a series of minor victories over C++'s morasses:
_Imperfect C++: Practical Solutions for Real-Life Programming_ by Matthew Wilson
http://blog.ImperfectCPlusPlus.com

> > Any good teacher of C++ looking at all the replies in this thread
> 
> Anybody who was about to consider Ada and has read that:
> 
> - the leading Ada compiler is broken,

There exist quite a few postings to c.l.a where the current state of the front-runner Ada compiler is lamented, even to the point of trying to figure out how a disruptor competitor could conceivably come into existence, especially an LLVM-based one.

> - the only Ada compiler worth its name is archaic and does not support any 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 the 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...
> 
> (because this is all that I have "learned" in this thread)
> 
> 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 unprecedented hatred towards C++

No, I am a collector of sorts.  My collection is an unprecedented list of the 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-scene-investigator lab to dissect all the evidence, figuring out where the C++ deviants went awry in their ‘breaking bad’.

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 languages) 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 arguments like above, this
> thread has become the parody of Ada advocacy. Actually, I believe that you are making a substantial
> damage to Ada with that kind of arguments. I'm afraid you don't realize this.
> 
> > “Gee, I really must help my students avoid those morasses in C++.”
> 
> 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?
> 
> I propose to make this discussion actually concrete [***] or close it.
> 
> [***] In short: show the code.

The books that I have listed in the comments above provide literally hundreds of code snippets of C++'s weaknesses to be avoided at practically all costs, 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.


  reply	other threads:[~2018-07-08 23:17 UTC|newest]

Thread overview: 117+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-30 18:04 Teaching C/C++ from Ada perspective? kouaoua16
2018-06-30 18:15 ` Luke A. Guest
2018-06-30 19:27   ` Dan'l Miller
2018-06-30 19:07 ` Dan'l Miller
2018-07-01 16:12 ` kouaoua16
2018-07-01 17:08   ` Luke A. Guest
2018-07-01 19:19     ` Dan'l Miller
2018-07-02  6:12       ` Maciej Sobczak
2018-07-01 20:52 ` Maciej Sobczak
2018-07-01 21:35   ` Dan'l Miller
2018-07-02  5:56     ` Maciej Sobczak
2018-07-02  9:58       ` Marius Amado-Alves
2018-07-02 11:03         ` Maciej Sobczak
2018-07-02 13:52           ` Marius Amado-Alves
2018-07-04 12:10             ` Dan'l Miller
2018-07-02 20:14         ` Paul Rubin
2018-07-03  9:48           ` Marius Amado-Alves
2018-07-04  2:52             ` Paul Rubin
2018-07-02 18:52       ` Dan'l Miller
2018-07-03  8:00         ` Maciej Sobczak
2018-07-03 12:40           ` Dan'l Miller
2018-07-03 20:54             ` Maciej Sobczak
2018-07-04  3:10               ` Dan'l Miller
2018-07-04  7:59                 ` Maciej Sobczak
2018-07-04  8:37                   ` Marius Amado-Alves
2018-07-04 12:22                     ` Maciej Sobczak
2018-07-04 14:13                       ` Simon Wright
2018-07-04 14:56                         ` Maciej Sobczak
2018-07-04 15:52                           ` Dmitry A. Kazakov
2018-07-04 16:24                             ` Alejandro R. Mosteo
2018-07-04 20:00                               ` Jeffrey R. Carter
2018-07-05 18:35                                 ` Randy Brukardt
2018-07-05 19:39                                   ` Jeffrey R. Carter
2018-07-06 18:45                                     ` Randy Brukardt
2018-07-04 20:13                             ` Maciej Sobczak
2018-07-04 21:09                               ` Dmitry A. Kazakov
2018-07-05  5:49                                 ` Maciej Sobczak
2018-07-05  7:37                                   ` Dmitry A. Kazakov
2018-07-05 13:14                                     ` Maciej Sobczak
2018-07-05 15:18                                       ` Dmitry A. Kazakov
2018-07-05 19:16                                       ` Randy Brukardt
2018-07-07 15:09                                         ` Lucretia
2018-07-05 19:12                                     ` Randy Brukardt
2018-07-05 20:10                                       ` Maciej Sobczak
2018-07-06 19:01                                         ` Randy Brukardt
2018-07-06 19:35                                           ` Dmitry A. Kazakov
2018-07-05  7:43                                   ` Alejandro R. Mosteo
2018-07-05 18:53                                   ` Randy Brukardt
2018-07-05 19:06                                     ` Dan'l Miller
2018-07-06 18:47                                       ` Randy Brukardt
2018-07-05 20:12                                     ` Maciej Sobczak
2018-07-06 18:51                                       ` Randy Brukardt
2018-07-06 19:43                                         ` Dmitry A. Kazakov
2018-07-06 20:18                                           ` Dan'l Miller
2018-07-07  8:39                                             ` Dmitry A. Kazakov
2018-07-07 11:53                                           ` Björn Lundin
2018-07-06 20:22                                         ` Maciej Sobczak
2018-07-06 23:26                                           ` Paul Rubin
2018-07-07  6:17                                             ` J-P. Rosen
2018-07-07  6:37                                               ` Micronian Coder
2018-07-07  8:48                                                 ` Privacy and child packages (Was: Teaching C/C++ from Ada perspective?) Jacob Sparre Andersen
2018-07-07 20:19                                               ` Teaching C/C++ from Ada perspective? Maciej Sobczak
2018-07-08 15:25                                           ` Simon Wright
2018-07-08 20:00                                             ` Maciej Sobczak
2018-07-09  9:04                                               ` Alejandro R. Mosteo
2018-07-05 15:30                               ` Dan'l Miller
2018-07-05 20:38                                 ` Maciej Sobczak
2018-07-05 21:05                                   ` Dan'l Miller
2018-07-05 18:47                               ` Randy Brukardt
2018-07-04 16:01                           ` Simon Wright
2018-07-04 17:12                           ` G. B.
2018-07-04 20:18                             ` Maciej Sobczak
2018-07-04 21:03                               ` G.B.
2018-07-04 17:21                           ` Dan'l Miller
2018-07-04 20:36                             ` Maciej Sobczak
2018-07-04 22:44                               ` Dan'l Miller
2018-07-05  2:01                                 ` Luke A. Guest
2018-07-05  5:03                                   ` Dan'l Miller
2018-07-05  5:58                                 ` Maciej Sobczak
2018-07-05 19:25                                   ` Randy Brukardt
2018-07-05 19:22                                 ` Randy Brukardt
2018-07-05 18:31                       ` Randy Brukardt
2018-07-06  3:32           ` Dan'l Miller
2018-07-06 12:05             ` Dan'l Miller
2018-07-06 20:42             ` Maciej Sobczak
2018-07-06 21:32               ` Dan'l Miller
2018-07-07 20:43                 ` Maciej Sobczak
2018-07-08 17:36                   ` Dan'l Miller
2018-07-08 18:39                     ` Bill Findlay
2018-07-08 19:28                       ` Dan'l Miller
2018-07-09 12:34                         ` Bill Findlay
2018-07-09 15:19                           ` Dan'l Miller
2018-07-09 19:34                             ` Bill Findlay
2018-07-09 22:03                               ` Dan'l Miller
2018-07-09 22:35                                 ` Bill Findlay
2018-07-10  1:56                                   ` Lucretia
2018-07-10 23:14                         ` Randy Brukardt
2018-07-11 14:05                           ` Dan'l Miller
2018-07-11 20:20                             ` Randy Brukardt
2018-07-08 20:43                     ` Maciej Sobczak
2018-07-08 23:17                       ` Dan'l Miller [this message]
2018-07-09  6:13                         ` Maciej Sobczak
2018-07-09 16:35                           ` Dan'l Miller
2018-07-10 23:20                       ` Randy Brukardt
2018-07-10 23:51                         ` Britt
2018-07-02 17:10   ` kouaoua16
2018-07-02 17:28     ` Dennis Lee Bieber
2018-07-02 18:22     ` Maciej Sobczak
2018-07-02 20:27     ` G.B.
2018-07-02  0:11 ` Paul Rubin
2018-07-02 14:26 ` kouaoua16
2018-07-02 19:57 ` G.B.
2018-07-02 20:17   ` Dan'l Miller
2018-07-03  9:56 ` Brian Drummond
2018-07-04 12:18 ` Olivier Henley
2018-07-04 14:17   ` kouaoua16
2018-07-12  5:38 ` robin.vowels
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox