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 10.55.76.212 with SMTP id z203mr9988778qka.22.1525194460003; Tue, 01 May 2018 10:07:40 -0700 (PDT) X-Received: by 2002:a1f:c102:: with SMTP id r2-v6mr2489829vkf.11.1525194459839; Tue, 01 May 2018 10:07:39 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!news.uzoreto.com!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!x25-v6no9186060qto.0!news-out.google.com!p41-v6ni898qtp.1!nntp.google.com!x25-v6no9186059qto.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Tue, 1 May 2018 10:07:39 -0700 (PDT) In-Reply-To: <41092874-0561-43f3-8f94-23886cb002cb@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=47.185.233.194; posting-account=zwxLlwoAAAChLBU7oraRzNDnqQYkYbpo NNTP-Posting-Host: 47.185.233.194 References: <1c73f159-eae4-4ae7-a348-03964b007197@googlegroups.com> <87k1su7nag.fsf@nightsong.com> <87po2la2qt.fsf@nightsong.com> <87in8buttb.fsf@jacob-sparre.dk> <87wowqpowu.fsf@nightsong.com> <16406268-83df-4564-8855-9bd0fe9caac0@googlegroups.com> <87o9i2pkcr.fsf@nightsong.com> <87bme2oy91.fsf@nightsong.com> <877eoom26h.fsf@nightsong.com> <87y3h3lpel.fsf@nightsong.com> <41092874-0561-43f3-8f94-23886cb002cb@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: How to get Ada to ?cross the chasm?? From: "Dan'l Miller" Injection-Date: Tue, 01 May 2018 17:07:39 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Received-Bytes: 7030 X-Received-Body-CRC: 448863611 Xref: reader02.eternal-september.org comp.lang.ada:51888 Date: 2018-05-01T10:07:39-07:00 List-Id: On Tuesday, May 1, 2018 at 10:45:19 AM UTC-5, pat...@spellingbeewinnars.org= wrote: > ... but could everyone take a step back and look at this thread.=20 >=20 > The OP had a valid concern, how to get different demographics to adopt. T= his thread just rambles on and on about another topics and most of it is OT= bickering and I am the only person that has voiced any concern about getti= ng young people to use Ada.=20 I am the original poster. I happen to adore this entire thread quite lovin= gly; it is almost exactly what I envisioned when I kicked it all off by mak= ing the original posting. The only thing wrong with it is that there needs= to be even more of it, especially regarding how to thoroughly disrupt the = status quo in Ada by having her date some new marriage-minded suitors (e.g.= , Coq, VHDL, LLVM, melding Ada & Rust via pluggable modularity: imagine Ad= a syntax plus opting into Rust's borrow-checker as PRAGMA SEMANTICS( BORROW= -CHECKER ) or something like that). What =E2=80=A2you=E2=80=A2 consider =E2=80=A2=E2=80=A2off topic=E2=80=A2=E2= =80=A2 along all the branches of this thread, I consider ... > What future is there for any language, programming or spoken, without you= ng people involvement... ... to be =E2=80=A2=E2=80=A2topics that are frequently uninteresting to you= th=E2=80=A2=E2=80=A2. Youth is typically attracted to shiny objects; I know because I was young o= nce not all that long ago. Until Ada has (at least the beginnings of moveme= nt toward) a new shininess of some sort to glitter & sparkle danglingly in = the sun, don't expect much fervent move-heaven-&-earth-to-get-there interes= t from youth. All the existing old shininess in Ada is what attracted us d= ecades ago when we were in our youth. (My university taught most of its co= mputer science classes using Ada1983 back in the 1980s.) Btw, just because I like the existing so-called =E2=80=9Coff topic=E2=80=9D= branches of this thread, it would be interesting if you actually do keep p= osting along this thread with ideas for what would attract youth to Ada. P= erhaps you are seeing some low-hanging easy-to-pick fruit that the rest of = us are missing. To wit, if I were writing that book that you are proposing= /writing, I would jettison as much of Ada1983 (lacking OO!) as possible, fo= cusing instead on Ada1995 (with OO!) if you absolutely must narrow to one e= dition. S. Tucker Taft's vision is far far far more palatable to youth's t= astes than Jean Ichbiah's. Also, I think that narrowing to one edition of = Ada is entirely misguided unless that edition is Ada2012, because the book = that needs to be written for youth/beginners is not the one you propose, bu= t rather a 1000-page encyclopedia of Ada-by-recipes, lambasting other langu= ages then showing the golden wonderfulness of Ada on that microtopic: 1) here are smart pointers in C++2017, but here is better memory management= in Ada2012; 2) here is spooky mistake-making type inference in other languages (worst i= n C++2017, btw; see Scott Meyers's aforementioned horror book), but here is= the better way of highly-readable literate-design in Ada2012; 3) here is UWP=3DWinRT programming in C++/WinRT and C++/CX, but here is the= better way in Ada-WinRT; 4) here is multithreaded programming in Java, but here is the better way in= Ada2012; 5) here are futures in C++2017 and here is the vastly better Grand Central = Dispatch in Objective-C and Swift, but here is how to accomplish that same = design in Ada; 6) here is a thread pool where all member threads pend competitively on a s= ingle message queue in POSIX threads in C, but here is how to better accomp= lish that same design in Ada2012; 7) here are clunky bitfields in C (and worse, there total absence in so man= y languages), and here is how to memory-map a nybble & bits register set of= an FPGA or ASIC in Ada2012; 8) here is such-&-such convenient syntax in Python, Ruby, Perl6, Haskell, O= Caml, etc, but here is the analogous convenient syntax in Ada2012. 9) here are the oft-proposed-never-standardized concept maps in C++ templat= es, but here they have existed for decades in Ada generics; 10) here are reactive extensions in C#, but here they are in RxAda; 11) here are each of the Gang of Four design patterns in other languages, b= ut here they are done better in Ada2012; and 12) so forth for hundreds and hundreds of microtopics in computer programmi= ng, where the tone can vary from we-got-that-too-isms to lambasting other l= anguages' half-baked conceptual disasters in C++ and Java especially to lam= basting Python/Ruby/Lua/Haskell/ML/F#/C#/Java/Kotlin on performance via act= ual empirical timing measurements on analogously-designed implementations i= n those languages versus Ada. By writing such a 1000-page encyclopedia of Ada recipes for common programm= ing microtopics, you will have crafted your own shiny object that youth wil= l find attractive, because it is like a bound book form of StackOverflow.