comp.lang.ada
 help / color / mirror / Atom feed
From: Optikos <optikos@verizon.net>
Subject: Re: Beginning Ada Programming, by Andrew T. Shvets (2020)
Date: Tue, 3 Dec 2019 08:26:53 -0800 (PST)
Date: 2019-12-03T08:26:53-08:00	[thread overview]
Message-ID: <80bcdfd1-b1e5-4ebf-aa8a-4beaba5ec3c2@googlegroups.com> (raw)
In-Reply-To: <be3b770c-9e58-4af0-bf69-c97de02eecc5@googlegroups.com>

On Tuesday, December 3, 2019 at 10:06:58 AM UTC-6, Lucretia wrote:
> On Tuesday, 3 December 2019 15:29:15 UTC, Optikos  wrote:
> 
> > There is a wise middle ground between the 2 extremes between what you & AdaMagica are saying.
> > 
> > strict) AdaMagica appears to be saying that rock-solid analysis of finding the upper & lower bounds of the integer's range (or fixed or floating point or BCD for that matter) is of crucial insight & importance to understanding the problem.
> > 
> > loose) You appear to be saying that for rapid prototyping that that deep analysis can be postponed.
> 
> That's not what I'm saying at all!
> 
> I'm saying to get someone used to the language, there is no problem with starting them off with the
> ready defined types, but explaining ranges a little later on, literally, within pages of themselves.

Oh, then I agree with AdaMagica wholeheartedly if restricted to only learning a new language.  I once worked for a long-time Fortran programmer who self-taught himself C; every line of code that he wrote was 110% pure Fortran-think without any resemblance (other than surface syntax) to anything more modern:  PL/I, C, Ada, Pascal.  Just about the only way that it was C code beyond force-fitting his thinking into C syntax minimally was that he eventually refrained from keeping the caps-lock key on all the time for all identifiers.  Full immersion in the new language's own better way of thinking from the very start is the only productive way to learn a new programming language.  Learning Ada the way that you describe is likely to perpetuate C-think or C++-think or Python-think in Ada, due to the new learner falsely believing “I got this!” far far too soon.

Learning a new programming language needs to have exciting revelatory “oh, wow!  I've never been able to do •that• before in any prior language!” moments early on to quell ho-hum boredom.  This ho-hum boredom is caused by nearly all the mainstream programming languages (with the exception of ML family) being minor variations on Algol 60's syntax and relatively minor extensions of Algol 60's control-flow constructs, so differentiating the newly-learned language from all other Algol60-esque fellow languages ASAP is crucial.  Burying the revelatory differences later in the book does a mind-numbing disservice to the reader by falsely lulling the reader into thinking Ada's key contributions are in syntax & beauty, not in semantic-meaning expressivity & crisp well-ordered-mind thinking.


  reply	other threads:[~2019-12-03 16:26 UTC|newest]

Thread overview: 82+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-03  4:05 Beginning Ada Programming, by Andrew T. Shvets (2020) Paul Rubin
2019-12-03 12:11 ` AdaMagica
2019-12-03 12:33   ` Lucretia
2019-12-03 13:21     ` J-P. Rosen
2019-12-03 13:57       ` Lucretia
2019-12-03 14:04         ` AdaMagica
2019-12-03 14:15           ` AdaMagica
2019-12-03 14:39             ` Simon Wright
2019-12-03 14:45               ` Shark8
2019-12-03 17:38               ` J-P. Rosen
2019-12-03 15:04           ` Lucretia
2019-12-03 15:29             ` Optikos
2019-12-03 16:06               ` Lucretia
2019-12-03 16:26                 ` Optikos [this message]
2019-12-03 16:50                   ` Lucretia
2019-12-03 17:02                     ` Shark8
2019-12-03 17:29                       ` AdaMagica
2019-12-05 16:35                       ` Dirk Heinrichs
2019-12-05 17:12                         ` AdaMagica
2019-12-09 19:08                           ` Dirk Heinrichs
2019-12-06 18:34                         ` Shark8
2019-12-06 20:29                           ` Jeffrey R. Carter
2019-12-06 21:05                             ` Shark8
2019-12-07  0:47                               ` Randy Brukardt
2019-12-14  4:21                           ` Keith Thompson
2019-12-14 11:34                             ` AdaMagica
2019-12-03 17:39                     ` Optikos
2019-12-03 19:12                       ` Paul Rubin
2019-12-14  4:34                       ` Paul Rubin
2020-04-17  5:14                       ` Andrew Shvets
2020-04-17  6:17                         ` Teaching Ada types J-P. Rosen
2020-04-29 13:07                           ` Mehdi Saada
2020-04-29 21:25                             ` Paul Rubin
2020-04-17  4:27                   ` Beginning Ada Programming, by Andrew T. Shvets (2020) Andrew Shvets
2020-04-17 12:44                     ` Ludovic Brenta
2020-04-17 13:07                       ` Jere
2020-04-17 14:31                       ` Optikos
2019-12-03 20:40               ` Björn Lundin
2020-04-17  4:16               ` Andrew Shvets
2020-04-17  4:11             ` Andrew Shvets
2020-04-17 15:32               ` Luke A. Guest
2020-04-17  4:10           ` Andrew Shvets
2020-04-17  5:02             ` Andrew Shvets
2020-04-17  4:08         ` Andrew Shvets
2019-12-03 19:14       ` Paul Rubin
2019-12-04  6:47         ` J-P. Rosen
2019-12-04  6:49         ` J-P. Rosen
2019-12-04  9:46           ` Paul Rubin
2020-04-17  4:07       ` Andrew Shvets
2020-04-17  5:49         ` J-P. Rosen
2020-04-17 17:59         ` AdaMagica
2020-04-17 19:28           ` Optikos
2020-04-18 15:29             ` AdaMagica
2020-04-18 16:34               ` cantanima.perry
2020-04-18 17:59                 ` Jere
2020-04-18 21:54                   ` cantanima.perry
2020-04-18 22:18                     ` Luke A. Guest
2020-04-18 22:33                       ` Jere
2020-04-19  0:52                         ` Jere
2020-04-19  2:23                       ` Keith Thompson
2020-04-18 22:37                     ` Jere
2020-04-19  0:42                     ` Paul Rubin
2020-05-02 19:13                 ` dave_thompson_2
2020-04-23 18:43             ` Andrew Shvets
2020-04-23 21:07               ` Paul Rubin
2020-04-23 21:33                 ` Optikos
2020-04-23 21:42                   ` Paul Rubin
2020-04-24 14:42                     ` Optikos
2020-04-24 15:35                       ` Dennis Lee Bieber
2020-04-30  8:01                       ` Paul Rubin
2020-04-23 18:45             ` Andrew Shvets
2020-11-02 21:14       ` Norman Worth
2020-04-17  4:04   ` Andrew Shvets
2019-12-10  5:17 ` Jerry
2020-04-17  3:58 ` Andrew Shvets
2020-05-09 12:39   ` Chris Collings
2020-10-03  4:23     ` andrew...@gmail.com
2020-10-28 19:21       ` sany...@gmail.com
2020-11-11  1:41 ` Azathoth Hastur
2020-11-12 21:24   ` Shark8
2020-11-12 22:31     ` Chris Townley
2020-11-17 20:48     ` azathot...@gmail.com
replies disabled

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