From: "J-P. Rosen" <rosen@adalog.fr>
Subject: Re: Introductory Ada Programming Book
Date: Wed, 4 Jan 2017 13:40:22 +0100
Date: 2017-01-04T13:40:22+01:00 [thread overview]
Message-ID: <o4iqcv$jph$1@dont-email.me> (raw)
In-Reply-To: <a1fa3aaa-b81f-4057-9700-ada47d83ca20@googlegroups.com>
Le 04/01/2017 à 10:25, raph.amiard@gmail.com a écrit :
>
>> Nice in its presentation and intent, but unfortunately carries a
>> lot of inexact stuff. Maybe the community could help (politely) the
>> guy...
>
> I read it some time ago, but I didn't find a lot of inexact stuff.
> Would you mind giving more details ?
>
Some excerpts:
exit when (a == 0)
Switch statements must cover all possible input values --- for unbounded
types like integers, a when others is mandatory.
Oddly, variables are not initialised by default
(Personal opinion: default initialization is a huge mistake)
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.
Plus you can omit the parentheses when calling zero-argument functions
and procedures;
(You must!)
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.
----------
etc...
Often not really wrong, but imprecise or incorrect
--
J-P. Rosen
Adalog
2 rue du Docteur Lombard, 92441 Issy-les-Moulineaux CEDEX
Tel: +33 1 45 29 21 52, Fax: +33 1 45 29 25 00
http://www.adalog.fr
next prev parent reply other threads:[~2017-01-04 12:40 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 [this message]
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
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