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:a6b:9386:: with SMTP id v128-v6mr9662743iod.27.1531154104911; Mon, 09 Jul 2018 09:35:04 -0700 (PDT) X-Received: by 2002:aca:c6ca:: with SMTP id w193-v6mr4955495oif.1.1531154104640; Mon, 09 Jul 2018 09:35:04 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!news.linkpendium.com!news.linkpendium.com!news.snarked.org!border2.nntp.dca1.giganews.com!nntp.giganews.com!g2-v6no3541695itf.0!news-out.google.com!l67-v6ni7087itl.0!nntp.google.com!d7-v6no6606839itj.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Mon, 9 Jul 2018 09:35:04 -0700 (PDT) In-Reply-To: <5a381f9e-85ed-4283-96c0-d49d30c0971b@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> <40511d29-6469-4ce3-a948-e4a79196968c@googlegroups.com> <5a381f9e-85ed-4283-96c0-d49d30c0971b@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: Teaching C/C++ from Ada perspective? From: "Dan'l Miller" Injection-Date: Mon, 09 Jul 2018 16:35:04 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: reader02.eternal-september.org comp.lang.ada:53744 Date: 2018-07-09T09:35:04-07:00 List-Id: On Sunday, July 8, 2018 at 3:43:48 PM UTC-5, Maciej Sobczak wrote: > =E2=80=A6 if the only thing you have on offer is the unprecedented hatred= towards C++ I don't hate C++. My curation of a set of maps to where C++'s landmines ar= e doesn't mean that I =E2=80=A2hate=E2=80=A2 the soil that I walk on; it me= ans that I =E2=80=A2love=E2=80=A2 having both of my legs still attached to = my body. On Monday, July 9, 2018 at 1:13:02 AM UTC-5, Maciej Sobczak wrote: > On Sunday, July 8, 2018 at 6:17:26 PM UTC-5, Dan'l Miller wrote: > > On Sunday, July 8, 2018 at 3:43:48 PM UTC-5, Maciej Sobczak wrote: > > > You might consider C > >=20 > > You misspoke there: C++, not C. >=20 > Actually, no, I really meant C, not C++ > > > > to be an ultimate disaster, especially when regarded from the Steelma= n perspective.=20 No, other than C99's restrict keyword being utilized by human beings instea= d of code generators, I have no strongly-held ill feelings regarding C. Fo= r the problem space that C tries to occupy, C rates a 5 out of 10, I think.= I think that C should have been quite different though. C's structured-p= rogramming-era mission should have been something closer to Robert DeWar's = hardware-agnostic assembly language (see below), not C's (mis)applying/forc= e-fitting PDP/11 assembly-language semantics onto all other processors. Robert B. K. Dewar; Anthony P. McCann (1979). MINIMAL - A Machine Independe= nt Assembly Language. Computer Science Department Technical Report. No. 12.= Courant Institute of Mathematical Sciences. No, the ultimate disaster was having any amount of C compatibility whatsoev= er in C++ as a wobbly foundation. Despite its weak-typing looseness flaws,= C is a notable 1970s engineering achievement in =E2=80=A2minimalism=E2=80= =A2 that did not need C++'s accretions at all to make C not-minimal. Why a= ccrete =E2=80=A2partial=E2=80=A2 strong typing & a Turing-complete template= -engine onto a =E2=80=A2minimalistic=E2=80=A2 weakly-typed language? That = opposite-of-minimalism doesn't even sound like C at all! That amalgamation= doesn't even pass the sniff test for a language that actually facilitates = software engineering! But by golly, that is what the software industry spe= nt untold hundreds of millions (billions?) of dollars doing as its primary = activity for over 30 years, except for parade of all the C-esque-syntaxed B= ullwinkle* languages that seek to be a critique-of-C++/C++-done-right which= has been yet another sequence of ratholes to pour a misspent hundreds of m= illions of dollars too, trying to rectify the C-is-a-wobbly-foundation bad = idea. * =E2=80=9CThis time for sure!=E2=80=9D https://www.youtube.com/watch?v=3Dj= YMkuOUAg3M&frags=3Dpl%2Cwn C's involvement with C++ should have been limited to being the backend of c= front. =E2=80=9C"Within C++, there is a much smaller and cleaner language s= truggling to get out=E2=80=9D [due in large part to the gratuitous C-syntac= tic compatibility] =E2=80=94Bjarne Stroustrup _Design and Evolution of C++_= (1994) page 207 when describing his desire for an R1000-esque system for C= ++ not reliant on repeated textual re-processing > > You say this only because not one single entity on the planet ever wrot= e another/better set of > > requirements of what is and is not a scientifically-based measurement s= ystem of a programming > > language that facilitates software engineering.=20 > > I have explained that I don't need a *single* measure and since the art o= f software engineering is > apparently multi-dimensional, I don't expect a *single* measure to exist = in the first place. And if you want > something "better", you first need another measure to objectively compare= different measures in order > to decide which measure is better. Well, now there you said something in the vicinity of something with which = I agree wholeheartedly: the SI reference meter rod in Paris is only as goo= d as our ability to empirically quantitatively observe & calculate its fide= lity of straightness versus its bentness toward deviance. Software engineering does in fact need a way to empirically quantitatively = observe & calculate fidelity of straightness versus bentness toward devianc= e. > Sorry, this discussion is not useful. Perhaps not to you, but it has been to me: studying the causes & symptoms = of deviance.