comp.lang.ada
 help / color / mirror / Atom feed
From: Optikos <ZUERCHER_Andreas@outlook.com>
Subject: Re: Beginning Ada Programming, by Andrew T. Shvets (2020)
Date: Fri, 17 Apr 2020 07:31:33 -0700 (PDT)
Date: 2020-04-17T07:31:33-07:00	[thread overview]
Message-ID: <e7624632-8cbd-45fe-ae0c-b1a8514c279c@googlegroups.com> (raw)
In-Reply-To: <87v9lye0yc.fsf@samuel>

On Friday, April 17, 2020 at 7:44:30 AM UTC-5, Ludovic Brenta wrote:
> Andrew Shvets writes:
> > 1 - Well, to look at this another way, bringing in ideas from other
> > languages can have a benefit as well.  After all, just about every
> > language has its roots in a different programming language.
> 
> That's very true if your audience consists of language designers; not if
> your audience consists of end users of a language.
> 
> > 2 - In regards to the Fortran programmer that wanted to make Fortran
> > in C, that does happen, but that is not the case with most people.
> 
> I think the crux of the matter is who you decide your audience to be.
> 
> If you decide that you want to write a "Ada for Fortran/Pascal/C
> programmers" then they already know all about control structures etc;
> and you should dive into the type system upfront.
> 
> If, on the other hand, you are writing "Ada as a first language" (or
> even "Ada for Lisp programmers") then yes, by all means, postpone the
> discussion of user-defined types until after the basics of variables,
> subprograms and control structures.
> 
> So I don't think there should be real opposition; both approaches have
> their merits depending on the audience.
> 
> -- 
> Ludovic Brenta.
> The sales manager standardizes the long-range workforce adjustments.

This comment is not aimed at any particular book or edition or author.

The very best-written programming-language books have a preface that categorizes the reader into various scenarios (e.g., I know another imperative language, so I need where Ada differs; I am new to programming entirely, so I am not familiar with very many idioms at all; I know a different paradigm of programming than imperative [e.g., functional; System F; System FC], so I need to see whether any of my non-imperative idioms can be utilized in Ada).  Then the preface tells the reader in each scenario which chapter sequence to read in which order different than sequential 1,2,3,... (e.g., read Appendix J then chapter 4,5,6, then Appendix C, then Appendix H, then chapters 7 and onward) and/or which chapters likely may be skipped or skim read to get on to the meat of the matter.  This guided-path reading of a book requires an insightful author to actually place themselves in each scenario and to actually walk a mile in their shoes with empathy and without corner-cutting.

The extreme-detail variant of this technique of writing a book is the threaded programmed text where this path is encoded into the right-hand column throughout the text instead of appearing in the preface.

If Ada were to have only one modern textbook and no more, then this guided reading-order style of writing would be crucial to addressing the vast majority of the market.

  parent reply	other threads:[~2020-04-17 14:31 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
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 [this message]
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