comp.lang.ada
 help / color / mirror / Atom feed
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

  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