comp.lang.ada
 help / color / mirror / Atom feed
From: raph.amiard@gmail.com
Subject: Re: Introductory Ada Programming Book
Date: Wed, 4 Jan 2017 05:44:12 -0800 (PST)
Date: 2017-01-04T05:44:12-08:00	[thread overview]
Message-ID: <5b52afcc-120e-41a5-bab2-7f5c6f647cc2@googlegroups.com> (raw)
In-Reply-To: <o4iqcv$jph$1@dont-email.me>

I'm in contact with the author so I'll pass any fixes up to him if you don't mind

>   exit when (a == 0)

> Switch statements must cover all possible input values --- for unbounded
> types like integers, a when others is mandatory.

I imagine you refer to the use of "unbounded" when refering to the integer type ?

> Oddly, variables are not initialised by default
> (Personal opinion: default initialization is a huge mistake)

Ok but, besides the "oddly" qualifier, his statement is correct, right ?

> 
> Ada is, alas, a one-pass language, so things need to be prototyped if
> you're going to refer to them before they're defined.

This is generally true, and the areas of the language where it's not (aspects) are full of gotchas. While it's not always true, my feeling is that there *was* a strong push to keep Ada compilable by a one pass compiler (which GNAT is, in broad strokes).

> 
> Plus you can omit the parentheses when calling zero-argument functions
> and procedures;
> (You must!)

Ok

> 
> type Vector is array(integer range<>) of float;
> These are a little bit deceptive. They don't represent an array which
> can change in size; they represent an array whose size is not known by
> the type system. They're implemented via a combination of fat pointers
> and fixed-size arrays, depending on context. They can be used as a
> shortcut in declaring variables, but they're mostly useful as parameters.

I'm not sure what is incorrect here.

> Often not really wrong, but imprecise or incorrect

Imprecise strikes me as completely OK for such a post. Incorrect is another matter, hence my original question :)

  parent reply	other threads:[~2017-01-04 13:44 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-31 13:18 Introductory Ada Programming Book Andrew Shvets
2016-12-31 14:26 ` Lucretia
2016-12-31 15:10   ` Dmitry A. Kazakov
2016-12-31 17:14     ` Andrew Shvets
2016-12-31 14:28 ` Lucretia
2016-12-31 14:34 ` Lucretia
2016-12-31 17:22   ` Andrew Shvets
2016-12-31 17:59 ` Gour
2017-01-02 15:56   ` Andrew Shvets
2017-01-02 16:32     ` Gour
2017-01-03 15:31 ` Patrick Noffke
2017-01-03 22:18   ` Andrew Shvets
2017-01-04  1:14 ` Paul Rubin
2017-01-04  3:07   ` Andrew Shvets
2017-01-04  6:46     ` J-P. Rosen
2017-01-04  9:25       ` raph.amiard
2017-01-04 12:40         ` J-P. Rosen
2017-01-04 12:49           ` Dmitry A. Kazakov
2017-01-04 13:45             ` raph.amiard
2017-01-04 14:14               ` Dmitry A. Kazakov
2017-01-04 15:15                 ` Simon Wright
2017-01-10 10:02                 ` raph.amiard
2017-01-04 15:18               ` Shark8
2017-01-04 21:47                 ` Randy Brukardt
2017-01-05  3:04                   ` Shark8
2017-01-05  7:51                     ` G.B.
2017-01-04 13:44           ` raph.amiard [this message]
2017-01-04 22:08             ` Jeffrey R. Carter
2017-01-04 22:39             ` Niklas Holsti
2017-01-05  0:38               ` G.B.
2017-01-05 23:52               ` Randy Brukardt
2017-01-05  6:36             ` J-P. Rosen
2017-01-05  8:38               ` Simon Wright
2017-01-10 10:13               ` raph.amiard
2017-01-09 22:01             ` Robert Eachus
2017-01-04 23:42 ` Andrew Shvets
2017-01-05  0:47   ` G.B.
2017-01-05 19:01   ` Jacob Sparre Andersen
replies disabled

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