comp.lang.ada
 help / color / mirror / Atom feed
From: Andreas ZEURCHER <ZUERCHER_Andreas@outlook.com>
Subject: Re: Ada syntax questions
Date: Mon, 21 Dec 2020 18:39:45 -0800 (PST)	[thread overview]
Message-ID: <7d4d4219-bc7d-4146-88b2-bd59865e8ffan@googlegroups.com> (raw)
In-Reply-To: <rrrgcc$9nh$1@franka.jacob-sparre.dk>

On Monday, December 21, 2020 at 6:58:54 PM UTC-6, Randy Brukardt wrote:
> "Andreas ZEURCHER" wrote in message 
> news:bfaef8db-8f57-4a06...@googlegroups.com...
> . 
> >Ada's inexpressiveness of imprecision of vagueness of misrepresenting 
> >design intent in this regard (of inability to compile-time enforce purity
> >of subroutines) ... 
> 
> Which Ada? Ada 202x has Global aspects specifically for this purpose, and 
> they are compile-time enforced.

This is very good news.  I will need to investigate those AIs further.  I take it from your wording that Global aspects are a general mechanism that a codebase could use to implement e.g. the purity check that FP seeks.  If a general mechanism, it will be interesting to foresee what other categories of axioms can be enforced/assured beyond purity.  Btw, I botched my example of extant programming languages in a prior comment that has a purity check on a call tree.  D has it currently, but it is has been proposed but not yet incorporated into Scala.

> Methinks are you simply looking to troll Ada rather than any serious intent. 

No, absolutely not, at least not in the pejorative that your wording implies.  As a system-engineer •critic• of finding the flaws in the system at large, I am always performing gap analysis on current Ada versus desired state of a universal programming language, using a technique not unlike FMEA.  At some level you are coincidentally correct:  I am negatively disappointed with Ada as much as C++ as much as Scala as much as D as much as Kotlin as much as Swift as much as C# as much as OCaml, but in different ways and to different degrees for each language.  For example, I admire so many portions of Ada, especially its declarative rich typing expressivity and its 35-year lead in accomplishing much of what C++20 will finally get with their oft-pursued concept feature.  Conversely, it is sad that few people realize that Ada has had much of the new whizbang C++20 concept feature for 35 years.  It is as if Ada is a mostly superior product whose salesmen don't consummate as many sales contracts as they ought.  It is useful to study in depth precisely why the superior product partially fails to achieve its potential glory.  One of the most interesting successes of Ada is that its user community seems to have fairly consistently utilized the vast majority of the features of the language on a regular basis.  Despite C++'s perceived popularity by comparison, each C++ codebase utilizes 10% of C++, but worse it is a different 10% of C++ utilized for each different codebase with vast rivalry between codebases regarding which portions of C++ are God's gift to humankind and which portions of C++ are uncouth.  Hence, C++'s perceived popularity is more of a mirage than it first appears because there is no one C++ that is popular, but rather a hundred subsets of C++, 75 of which are intensely unpopular to each of the others and 24 of which are eye-rollingly barely tolerable to each of the others.  As no small achievement, Ada achieves Scott McNealy's “all the wood behind one arrow” vastly more than, say, C++'s or D's everything-and-the-kitchen-sink pandering to me-too-isms.  Scala/JVM, Scala/Native, Scala/OO, and Scala/FP are constantly in a multi-way tug-of-war of sorts (actually 2 orthogonal tugs-of-wars at 2 different ontological levels) that again isn't “all the wood behind one arrow” that Ada better achieves than Scala (so far).

> There's no implementation of Global yet, sadly. Hopefully coming soon. 

It will be interesting to see the furthest push-the-limits extent of applicability of Global aspects.

  reply	other threads:[~2020-12-22  2:39 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-17 22:39 Ada syntax questions DrPi
2020-12-17 23:18 ` Gabriele Galeotti
2020-12-18  8:26 ` Jeffrey R. Carter
2020-12-18  9:18 ` Dmitry A. Kazakov
2020-12-18 16:55 ` Mart van de Wege
2020-12-18 17:38 ` Björn Lundin
2020-12-18 19:35 ` Niklas Holsti
2020-12-20 21:59   ` Keith Thompson
2020-12-22  1:04     ` Randy Brukardt
2020-12-22  8:00       ` Dmitry A. Kazakov
2020-12-23  1:23         ` Randy Brukardt
2020-12-23  8:59           ` Dmitry A. Kazakov
2020-12-24  4:06             ` Randy Brukardt
2020-12-24  9:37               ` Dmitry A. Kazakov
2020-12-22 13:48       ` AdaMagica
2020-12-20 21:59   ` Keith Thompson
2020-12-21  8:08     ` Dmitry A. Kazakov
2020-12-18 23:09 ` Stephen Leake
2020-12-19 11:50   ` DrPi
2020-12-19 12:40     ` Dmitry A. Kazakov
2020-12-19 17:13       ` Andreas ZEURCHER
2020-12-19 17:49         ` Dmitry A. Kazakov
2020-12-19 18:40           ` Andreas ZEURCHER
2020-12-19 19:37             ` Dmitry A. Kazakov
2020-12-19 22:11               ` Andreas ZEURCHER
2020-12-20  8:47                 ` Dmitry A. Kazakov
2020-12-20 16:53                   ` Andreas ZEURCHER
2020-12-22  0:58                     ` Randy Brukardt
2020-12-22  2:39                       ` Andreas ZEURCHER [this message]
2020-12-22 10:05                     ` Stéphane Rivière
2020-12-25  9:34                     ` G.B.
2020-12-19 17:01     ` AdaMagica
2020-12-19 21:51     ` Stephen Leake
2020-12-19 22:20       ` Andreas ZEURCHER
2020-12-20 14:10       ` DrPi
replies disabled

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