comp.lang.ada
 help / color / mirror / Atom feed
From: <adaworks@sbcglobal.net>
Subject: Re: What is wrong with Ada?
Date: Sat, 21 Apr 2007 02:13:18 GMT
Date: 2007-04-21T02:13:18+00:00	[thread overview]
Message-ID: <2reWh.1480$H_.1259@newssvr21.news.prodigy.net> (raw)
In-Reply-To: 461E6DD9.6010600@obry.net


"Pascal Obry" <pascal@obry.net> wrote in message 
news:461E6DD9.6010600@obry.net...
>
> "The only way" for interpreted languages, for compiled languages (as
> said in my previous message) the compiler will detect lot of mistakes.
> So it is not the only way in this case. I'm wondering if you are not
> moving to the troll side!
>
Every program needs to be evaluated in more than one way.  Those
who advocate test-only are off the mark.  Those who depend on a
properly compiled program are way off the mark.   Those who rely
on inspection alone, are certainly missing something.

Ideally, we design the software with the most appropriate methods and
tools to avoid defects.   For most circumstances, but not all, Ada is a
better tool to accomplish this than most other languages.   We can
certainly get better results in this regard from Ada than from an intepreted
language, but that is the old "mixing apples and oranges" issue.   When
comparing Ada, we must compare it to languages that are also compiled.
C++, a language inherently error-prone, is not usually as good as Ada
(with a few very rare exceptions), so we don't expect to be able to
depend on the compiler for as much help as we get from Ada.   This is
also true, to some extent, for Java.

Even so, with all the help we get from the compiler in a well-designed Ada
program, we must also apply some testing regimen and are well-advised to
add an inspection process.    However, it is well-known that neither testing
nor inspection are sufficient for evaluating the correctness of a program.  This
is why compiler errors are still important.   Once again, Ada excels in this
regard for most kinds of design problems.

Some of the examples given, so far, such as the double underbar indicate
a lack of understanding of just what a harsh mistress really is.  The 
fundamental
design goal of Ada is for a language where the maximum number of errors
can be detected by the compiler as early in the development process as
possible.  For the most part, in most circumstances, this actually happens.

Full-path, and total testing are simply out of the question for large software
systems.  Therefore, we need to find ways to priortize the testing process
so we focus on those errors with the greatest probability of occurrence as
well as those with the greatest serverity, should they occur.   A testing
strategy needs to be coupled with a risk management policy.   Risk
management, to be truly effective, needs to be based on recorded experience
of the kinds of defects typical of a domain, an organization, etc.  With some
knowledge of the frequency distribution of errors, we can then develop a
sensible testing strategy.   For example, if we know that a certain programmer
always makes mistakes of a certain kind, we can focus more testing on his
programs.  If we know that a certain category of mistakes occurs at a
given stage of projects of the kind we are developing, we can create a
strategy for evaluating software at that stage.

Strategies for testing are important since there is no way to test all the paths
of any program.   Design strategies that take advantage of the error reporting
from a compiler are important so we will not have to test those errors that
are reported.   Inspection strategies are essential for identifying the kind of
errors that are most easily spotted by a well-trained human.     All of these
are important, even when using Ada.

Richard Riehle






  reply	other threads:[~2007-04-21  2:13 UTC|newest]

Thread overview: 147+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-09 20:31 What is wrong with Ada? martinbishop
2007-04-10  1:14 ` Chip and Allie Orange
2007-04-10  8:32   ` gautier_niouzes
2007-04-10 18:21     ` Chip Orange
2007-04-10  1:15 ` Jeffrey R. Carter
2007-04-10  9:02   ` Pascal Obry
2007-04-10 14:32     ` Markus E Leypold
2007-04-10 15:09       ` Pascal Obry
2007-04-10 15:39         ` Markus E Leypold
2007-04-10 16:12           ` Jean-Pierre Rosen
2007-04-10 17:31             ` Chad  R. Meiners
2007-04-10 18:24               ` Markus E Leypold
2007-04-10 18:28                 ` Ludovic Brenta
2007-04-10 20:22                   ` Markus E Leypold
2007-04-11  9:40               ` Jean-Pierre Rosen
2007-04-11 11:20                 ` Georg Bauhaus
2007-04-11 23:45                 ` Brian May
2007-04-12  7:40                   ` Jean-Pierre Rosen
2007-04-12 16:44                   ` kevin  cline
2007-04-12 17:32                     ` Pascal Obry
2007-04-12 16:46                   ` kevin  cline
2007-04-12 17:35                     ` Pascal Obry
2007-04-21  2:13                       ` adaworks [this message]
2007-04-21  9:49                         ` Simon Wright
2007-04-21 14:15                           ` Markus E Leypold
2007-04-22  7:38                             ` adaworks
2007-04-23  1:33                               ` Brian May
2007-04-21 18:33                           ` adaworks
2007-04-12 18:11                     ` Markus E Leypold
2007-04-16 14:25                       ` Bob Spooner
2007-04-16 14:50                         ` Markus E Leypold
2007-04-17  9:17                           ` Pascal Obry
2007-04-17 10:04                             ` Georg Bauhaus
2007-04-17 15:02                             ` Ed Falis
2007-04-17 15:48                               ` Pascal Obry
2007-04-17 20:53                                 ` Ludovic Brenta
2007-04-18  0:21                                 ` Jeffrey R. Carter
2007-04-18  8:16                                   ` Ludovic Brenta
2007-04-21  2:18                               ` adaworks
2007-04-12 18:47                   ` Robert A Duff
2007-04-12 19:39                     ` Dmitry A. Kazakov
2007-04-12 19:54                       ` Peter C. Chapin
2007-04-12 20:41                         ` Dmitry A. Kazakov
2007-04-14 19:56                         ` Chad  R. Meiners
2007-04-13  0:16                       ` Markus E Leypold
2007-04-14  7:01                         ` Dmitry A. Kazakov
2007-04-14 10:48                           ` Markus E Leypold
2007-04-15 13:41                             ` Dmitry A. Kazakov
2007-04-15 16:01                               ` Markus E Leypold
2007-04-15 17:51                                 ` Dmitry A. Kazakov
2007-04-15 21:41                                   ` Markus E Leypold
2007-04-15 22:00                                   ` Markus E Leypold
2007-04-16  8:26                                     ` Dmitry A. Kazakov
2007-04-16  9:04                                       ` Markus E Leypold
2007-04-17  7:58                                         ` Georg Bauhaus
2007-04-17  9:27                                           ` Dmitry A. Kazakov
2007-04-17 10:46                                             ` Markus E Leypold
2007-04-17 10:48                                             ` Markus E Leypold
2007-04-15 23:06                                   ` Markus E Leypold
2007-04-22 21:50                                   ` Markus E Leypold
2007-04-23 19:26                                     ` Dmitry A. Kazakov
2007-04-23 20:39                                       ` Ray Blaak
2007-04-24  8:39                                         ` Dmitry A. Kazakov
2007-04-24 16:43                                           ` Ray Blaak
2007-04-23 22:02                                       ` Markus E Leypold
2007-04-14 22:49                         ` Robert A Duff
2007-04-14 23:39                           ` Markus E Leypold
2007-04-23 21:16                         ` Larry Kilgallen
2007-04-23 21:21                           ` Ray Blaak
2007-04-23 22:15                             ` Markus E Leypold
2007-04-12 21:18                     ` Georg Bauhaus
2007-04-13  7:39                       ` Stuart
2007-04-13  9:05                         ` Georg Bauhaus
2007-04-13  0:10                     ` Brian May
2007-04-13  8:55                     ` Harald Korneliussen
2007-04-14 22:47                       ` Robert A Duff
2007-04-14 19:50                     ` Chad  R. Meiners
2007-04-14 22:52                       ` Robert A Duff
2007-04-14 19:28                 ` Chad  R. Meiners
2007-04-16  8:50                   ` Jean-Pierre Rosen
2007-04-16  9:18                     ` Dmitry A. Kazakov
2007-04-16  9:56                     ` Markus E Leypold
2007-04-16 16:45                     ` Robert A Duff
2007-04-17  9:05                       ` Jean-Pierre Rosen
2007-04-17 14:51                         ` Robert A Duff
2007-04-22  7:42                           ` adaworks
2007-04-10 18:15             ` Markus E Leypold
2007-04-20 16:34             ` adaworks
2007-04-10 19:44       ` Simon Wright
2007-04-10 20:43         ` Markus E Leypold
2007-04-10 22:02       ` Georg Bauhaus
2007-04-10 22:15         ` Markus E Leypold
2007-04-11  8:59           ` Georg Bauhaus
2007-04-20 16:25       ` adaworks
2007-04-20 20:35         ` Markus E Leypold
2007-04-21  5:51           ` adaworks
2007-04-25  0:10         ` Chad  R. Meiners
2007-04-10 15:59     ` Jeffrey R. Carter
2007-04-10 16:31       ` Dmitry A. Kazakov
2007-04-10 18:08         ` Markus E Leypold
2007-04-11 23:05         ` kevin  cline
2007-04-12  7:55           ` Dmitry A. Kazakov
2007-04-12 10:43           ` Peter C. Chapin
2007-04-12 13:04             ` Markus E Leypold
2007-04-13 10:46               ` Harald Korneliussen
2007-04-13 16:25                 ` Adam Beneschan
2007-04-14 23:41                 ` Markus E Leypold
2007-04-22  7:54           ` adaworks
2007-04-21 18:50         ` adaworks
2007-04-21 19:53           ` Dmitry A. Kazakov
     [not found]             ` <H5EWh.6302$H_5.612@newssvr23.news.prodigy.net>
2007-04-22  9:33               ` Dmitry A. Kazakov
2007-04-10 23:43     ` Brian May
2007-04-12 14:25       ` Bob Spooner
2007-04-13  0:22         ` Brian May
2007-04-23  2:25     ` Justin Gombos
2007-05-16  1:29     ` Adrian Hoe
2007-04-10  1:25 ` Brian May
2007-04-10  1:48   ` martinbishop
2007-04-10  8:33     ` gautier_niouzes
2007-04-10 14:58     ` Markus E Leypold
2007-04-10 19:05       ` Randy Brukardt
2007-04-10 20:27         ` Markus E Leypold
2007-04-12  1:18           ` Randy Brukardt
2007-04-12 13:02             ` Markus E Leypold
2007-04-12  8:47           ` Ada vendor FAQ (was: What is wrong with Ada?) Ludovic Brenta
2007-04-11 15:21 ` What is wrong with Ada? Jason King
2007-04-11 17:53   ` tmoran
2007-04-12 18:55   ` Alexander E. Kopilovich
2007-04-13  2:59     ` Jason King
2007-04-13  9:03       ` Georg Bauhaus
2007-04-14 15:28         ` Jason King
2007-04-16 16:48           ` Georg Bauhaus
2007-04-21 12:56 ` AJAskey
2007-04-21 13:50   ` jimmaureenrogers
2007-04-21 14:46     ` AJAskey
2007-04-21 15:43       ` Markus E Leypold
2007-04-23  1:37         ` Brian May
2007-04-21 15:48       ` Markus E Leypold
2007-04-21 21:42       ` jimmaureenrogers
     [not found]         ` <vzwWh.2452$Ut6.1591@newsread1.news.pas.earthlink.net>
2007-04-22  0:53           ` Markus E Leypold
2007-04-25  0:20     ` Chad  R. Meiners
2007-04-25  9:57       ` Markus E Leypold
2007-04-25 11:19         ` Georg Bauhaus
2007-04-25 11:54           ` Markus E Leypold
2007-04-25 13:24             ` Georg Bauhaus
2007-04-25 13:41             ` adaworks
2007-04-26  3:24       ` jimmaureenrogers
replies disabled

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