comp.lang.ada
 help / color / mirror / Atom feed
From: Robert A Duff <bobduff@shell01.TheWorld.com>
Subject: Re: A case where Ada defaults to unsafe?
Date: Thu, 10 Jan 2002 21:22:05 GMT
Date: 2002-01-10T21:22:05+00:00	[thread overview]
Message-ID: <wcc7kqp52bm.fsf@shell01.TheWorld.com> (raw)
In-Reply-To: 0pkZ7.3899$cD4.6730@www.newsranger.com

Ted Dennison<dennison@telepath.com> writes:

> In article <wccwuyycht9.fsf@shell01.TheWorld.com>, Robert A Duff says...
> >If you're looking for cases where Ada makes the default less safe, I can
> >think of a few.  Here's one: "X: T := ...;" is a variable, whereas
> >"X: constant T := ...;" is a constant.  IMHO, it should be the other way
> >around ("X: var T := ...;" for a variable), since constants are safer
> >than variables.

> I think this is another example of the *real* design principle here,
> which is to make the more common and more general form take the least
> syntax, and use added syntax to specify a more constrained and/or less
> common form.

I do not agree with that design principle.  The default should be the
thing that is safer/less-powerful.  To use the
more-powerful/more-dangerous option should require extra syntax.
What's more common is irrelevant.

Of course, one hopes that the safer thing is also the most common thing.
For example, if programmers have to do type conversions or unsafe casts
on every other line of code, then something is wrong with the language
design -- whether those casts are explicit or implicit.  So in practise,
your principle will often come up with the same answer as mine.

Many Ada programs use variables where they should use constants.  Making
the default the other way around (i.e. not punishing the safer case with
verbosity) would somewhat alleviate that problem.

The choice of "variable by default, constant requires explicit notation"
is particularly annoying to me because it is inconsistent: for
parameters, it's the other way 'round.

An interesting question is whether variables are more common than
constants in Ada.  I have no idea.  If you adopt a "mostly functional"
style, you'll have a lot of constants...

> If I try real hard I can come up with reasons why just about any
> design decision might have error-prone implications (particularly if I
> start with the postulate that everyone thinks like a C programmer).

My point above has nothing to do with C or C programmers.

- Bob



  reply	other threads:[~2002-01-10 21:22 UTC|newest]

Thread overview: 127+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-01-03 20:29 A case where Ada defaults to unsafe? Hyman Rosen
2002-01-03 20:38 ` Darren New
2002-01-03 21:36   ` Hyman Rosen
2002-01-04 14:29     ` Wes Groleau
2002-01-03 21:27 ` James Rogers
2002-01-03 21:32 ` Frank J. Lhota
2002-01-03 21:51   ` Hyman Rosen
2002-01-03 22:22     ` Ted Dennison
2002-01-03 23:07       ` Hyman Rosen
2002-01-03 23:38         ` Nick Williams
2002-01-04  0:15         ` Florian Weimer
2002-01-04  7:40         ` Preben Randhol
2002-01-04 14:39         ` Wes Groleau
2002-01-04 15:16         ` Ted Dennison
2002-01-04  3:35       ` Eric Merritt
2002-01-04 14:39         ` Robert A Duff
2002-01-04 14:27     ` Robert A Duff
2002-01-04 15:39       ` Larry Kilgallen
2002-01-04 15:57       ` Ted Dennison
2002-01-04 16:05       ` Ted Dennison
2002-01-10 21:22         ` Robert A Duff [this message]
2002-01-11  9:14           ` Dmitry A. Kazakov
2002-01-04 16:19       ` Brian Rogoff
2002-01-04 16:31         ` Ted Dennison
2002-01-08 20:55         ` Mark Lundquist
2002-01-16  0:14           ` Matthew Heaney
2002-01-16 20:19             ` Robert A Duff
2002-01-10 21:29         ` Robert A Duff
2002-01-11  9:25           ` Dmitry A. Kazakov
2002-01-19  0:35           ` Brian Rogoff
2002-01-19 14:15             ` Robert A Duff
2002-01-19 23:10               ` Brian Rogoff
2002-01-04 16:29     ` Robert Dewar
2002-01-04 17:32       ` Hyman Rosen
2002-01-04 18:50         ` Matthew Heaney
2002-01-04 18:56           ` Darren New
2002-01-04 19:10           ` Hyman Rosen
2002-01-04 20:08             ` Matthew Heaney
2002-01-04 20:14               ` Ted Dennison
2002-01-04 20:20               ` Hyman Rosen
2002-01-04 21:16                 ` Larry Kilgallen
2002-01-04 21:33                 ` Ted Dennison
2002-01-07 15:39                   ` Hyman Rosen
2002-01-07 16:06                     ` Ted Dennison
2002-01-07 16:50                     ` Larry Kilgallen
2002-01-07 17:18                       ` Hyman Rosen
2002-01-07 17:26                         ` Pat Rogers
2002-01-07 18:12                           ` Hyman Rosen
2002-01-07 18:40                             ` FGD
2002-01-07 20:04                             ` Pat Rogers
2002-01-05  0:08             ` Nick Roberts
2002-01-05 10:57               ` Simon Wright
2002-01-08 23:27                 ` Nick Roberts
2002-01-09  9:58                   ` Stuart Palin
2002-01-09 11:11                     ` Nick Roberts
2002-01-10 20:32                     ` Robert A Duff
2002-01-11  9:45                       ` Stuart Palin
2002-01-11 13:32                         ` Robert A Duff
2002-01-11 20:26                           ` Literate Programming [was: A case where ...] Nick Roberts
2002-01-12 16:37                             ` Georg Bauhaus
2002-01-13 14:46                               ` Nick Roberts
2002-01-14 14:17                             ` Eric Merritt
2002-01-14 23:20                               ` Nick Roberts
2002-01-15 18:54                                 ` Eric Merritt
2002-01-14 14:34                             ` Stephen Leake
2002-01-14 13:14                           ` A case where Ada defaults to unsafe? Stuart Palin
2002-01-14 14:38                             ` Preben Randhol
2002-01-16  6:00                             ` Simon Wright
2002-01-17  3:04                               ` David Starner
2002-01-17 15:08                                 ` Georg Bauhaus
2002-01-17 20:25                                   ` Simon Wright
2002-01-17  9:56                               ` Stuart Palin
     [not found]                           ` <3 <3C469FE6.B2C67ED6@baesystems.com>
2002-01-17 20:32                             ` Simon Wright
2002-01-14 14:35                         ` Preben Randhol
2002-01-14 16:36                         ` Robert A Duff
2002-01-12 12:27                   ` Simon Wright
2002-01-05  0:32         ` Robert Dewar
2002-01-14 16:09     ` Matthieu Moy
2002-01-20  8:59       ` Hyman Rosen
2002-01-20 19:13         ` Jim Rogers
2002-01-20 21:19           ` Ray Blaak
2002-01-03 22:07 ` Ted Dennison
2002-01-04 17:12   ` Preben Randhol
2002-01-04 17:21     ` Jean-Marc Bourguet
2002-01-04 18:54     ` Ted Dennison
2002-01-04  3:17 ` Larry Kilgallen
2002-01-04  8:27 ` Thierry Lelegard
2002-01-04  8:39   ` tmoran
2002-01-04  9:03     ` Thierry Lelegard
2002-01-04 14:43       ` Wes Groleau
2002-01-04 15:45       ` Ted Dennison
2002-01-04 16:37         ` Wes Groleau
2002-01-04 16:56           ` Ted Dennison
2002-01-04 11:51   ` Larry Kilgallen
2002-01-04 12:41   ` M. A. Alves
2002-01-04 15:42   ` Ted Dennison
2002-01-04 17:16     ` Hyman Rosen
2002-01-04 19:12       ` Ted Dennison
2002-01-04 23:36   ` Matthew Woodcraft
2002-01-05 15:00 ` Steve Doiel
2002-01-10 20:49   ` Robert A Duff
  -- strict thread matches above, loose matches on Subject: below --
2002-01-03 23:18 Gautier Write-only-address
2002-01-03 23:26 Gautier Write-only-address
2002-01-03 23:54 ` Larry Hazel
2002-01-04 14:33   ` Robert A Duff
2002-01-05 12:47 Gautier Write-only-address
2002-01-07 16:24 ` Ted Dennison
2002-01-07 18:17   ` FGD
2002-01-07 18:21     ` Hyman Rosen
2002-01-07 20:26       ` Matthew Woodcraft
2002-01-07 21:16         ` Hyman Rosen
2002-01-13  8:23           ` Hyman Rosen
2002-01-13  9:06             ` Preben Randhol
2002-01-13 10:41             ` Larry Kilgallen
2002-01-14  5:47               ` Hyman Rosen
2002-01-14 12:41               ` Georg Bauhaus
2002-01-13 18:21             ` Michal Nowak
2002-01-14  1:29               ` Ted Dennison
2002-01-14 14:36                 ` Ted Dennison
2002-01-14 22:43                 ` Michal Nowak
2002-01-10 20:47         ` Robert A Duff
2002-01-10 23:37           ` Preben Randhol
2002-01-11  1:31             ` Robert A Duff
2002-01-11 20:32               ` Nick Roberts
2002-01-11 16:47           ` Hyman Rosen
2002-01-07 16:45 Gautier Write-only-address
2002-01-07 19:33 ` Ted Dennison
replies disabled

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