comp.lang.ada
 help / color / mirror / Atom feed
From: "John R. Strohm" <strohm@airmail.net>
Subject: Re: [Spark] Arrays of Strings
Date: Fri, 11 Apr 2003 08:19:43 -0500
Date: 2003-04-11T08:19:43-05:00	[thread overview]
Message-ID: <54F8CD091AF44543.C62D3F94D086FE15.8E3F43FBA1FD34CE@lp.airnews.net> (raw)
In-Reply-To: b76b3a$slo$1@slb9.atl.mindspring.net

"Marin David Condic" <mcondic.auntie.spam@acm.org> wrote in message
news:b76b3a$slo$1@slb9.atl.mindspring.net...
> I can agree with Hyman's point to some extent. Trying to eliminate all
> possible sources of errors via language design is not going to work and
only
> succeeds in making the language less useful in solving problems. (Sort of
> like trying to teach a pig to dance - it doesn't work and only succeeds in
> annoying the pig. :-) There isn't really any substitute for solid design
and
> rigorous testing if you want a stable, reliable end product. A "safe"
> language can lead developers to find ugly, difficult ways around the
safety
> features in order to get what the designers wanted out of the system.

"Testing cannot be used to show the absence of errors, only their
resence."  --Edsger W. Dijkstra

Yes, you can force some ugly and difficult workarounds for lack of e.g.
pointers and GOTO statements.

HOWEVER, no matter how ugly and difficult those workarounds may be, they are
known to be SAFE.  The simple, easy-to-use constructs they replaced were NOT
SAFE.

Secondly, the presence of those ugly, difficult workarounds draws the
maintenance programmer's eye, alerting him that there are demons and tygers
lurking hereabouts.  This is PRECISELY why Ada made the GOTO label syntax
INCREDIBLY ugly: they were required by the customer to provide a GOTO
statement, but they could, and did, warn against its use.





  reply	other threads:[~2003-04-11 13:19 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-04-08 12:02 [Spark] Arrays of Strings Lutz Donnerhacke
2003-04-08 18:08 ` Martin Krischik
2003-04-09  9:23   ` Lutz Donnerhacke
2003-04-09 12:38     ` Hyman Rosen
2003-04-09 12:47       ` Vinzent Hoefler
2003-04-09 14:27         ` Hyman Rosen
2003-04-09 15:13           ` Vinzent Hoefler
2003-04-09 17:21         ` Hyman Rosen
2003-04-09 18:41           ` Vinzent Hoefler
2003-04-09 21:04           ` Randy Brukardt
2003-04-10 23:21           ` John R. Strohm
2003-04-11 12:19             ` Hyman Rosen
2003-04-11 13:14               ` John R. Strohm
2003-04-09  7:50 ` Eric G. Miller
2003-04-09  8:10   ` Lutz Donnerhacke
2003-04-09 18:23   ` Matthew Heaney
2003-04-09 17:42 ` Matthew Heaney
2003-04-09 21:06   ` Randy Brukardt
2003-04-10  8:23   ` Lutz Donnerhacke
2003-04-10 14:09     ` Matthew Heaney
2003-04-10 14:48       ` Hyman Rosen
2003-04-11  6:20         ` Chad R. Meiners
2003-04-11 12:31           ` Hyman Rosen
2003-04-11 18:27             ` Chad R. Meiners
2003-04-11  7:35         ` Phil Thornley
2003-04-11 12:05           ` Marin David Condic
2003-04-11 13:19             ` John R. Strohm [this message]
2003-04-12 23:09               ` Robert A Duff
2003-04-11 18:47             ` Chad R. Meiners
2003-04-12 23:51         ` Robert A Duff
2003-04-13  5:47           ` Hyman Rosen
2003-04-14  8:05             ` Lutz Donnerhacke
2003-04-10 15:02       ` Lutz Donnerhacke
2003-04-10 15:50         ` Hyman Rosen
2003-04-10 18:32           ` Randy Brukardt
2003-04-11  6:28         ` Chad R. Meiners
2003-04-11  8:11           ` Lutz Donnerhacke
2003-04-11 12:32 ` Rod Chapman
2003-04-11 14:50   ` Peter Amey
2003-04-11 18:41   ` Matthew Heaney
2003-04-11 21:25     ` Chad R. Meiners
2003-04-12 10:08     ` Peter Amey
replies disabled

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