comp.lang.ada
 help / color / mirror / Atom feed
From: Lao Xiao Hai <laoxhai@ix.netcom.com>
Subject: Re: Ada The Best Language?
Date: Mon, 23 Jul 2001 12:26:55 -0700
Date: 2001-07-23T19:26:18+00:00	[thread overview]
Message-ID: <3B5C7A7F.6BC1E9D9@ix.netcom.com> (raw)
In-Reply-To: 5be89e2f.0107181248.73298c57@posting.google.com



codesavvy wrote:

> >
> > How do _you_ write multitasking/multithreading applications in C++ ?
> > With a lot (really a lot) of system calls ? Very, very portable ;-)

However, there is no consistency checking of these system calls relative
to the underlying program.   Ada's tasking model is useful because it is
integrated into the overall program and the compiler can do full type
checking, procedure call conformance evalutation,  enforce visibility
rules (which are nearly absent in C++), and a host of other things that
require a coherent model for development.    In this regard, C++ falls
far short of Ada.

> Do you have a metric for measuring the increase in productivity that
> this brings about?

Anecdotal.  I worked with a programmer who was constantly complaining about
Ada.  He wanted to use C++.   After a couple of months he finally came to me with,
"I think I am beginning to get it.  With C and C++ I can compile anything I write and
then spend a long time debugging it.   With Ada, it takes me a long time to get my
program to successfully compile, but when it does, there is less debugging to do."

This is difficult to measure using the usual tools for software metrics.   Most metric
methods are not at a sufficient level of granularity to differentiate between the many
steps in bringing a program into production.   Most managers do not take the time to
collect metrics at that level of detail.

> I hope the compiler is consistent from OS to OS
> for Ada.  How often is portability from one system to the next
> required so that all one has to do is recompile and everything will
> work the same needed?  Not very often, almost never IMO.

Anecdote, again.   On an Army Command and Control system, the team
I was advising was developing an Ada system for a computer someone
had purchased on promises of good performance from the computer
salesperson.  The team was unable to meet its perfomance objectives,
largely because of the tasking implementation on the target platform.
Someone suggested converting the whole thing over to C.    This, of
course, would not have helped, but in a panic people will grasp at any
flimsy straw floating on the surface.

Along came a salesperson for Harris Computing, offering to run the software
on their Nighthawk.   "Oh no," thought the project manager.  "We have to convert
the Ada code to compile on their machine? "    During original design, the team
had carefully packaged all the platform-dependent code at the lowest possible
level of the design.   All the vanilla-flavored Ada code ported perfectly.  The
low-level package, consisting of a few-hundred lines, was ported easily with
the help of technicians from Harris.   Performance objectives were met and the
project came in on-time, within budget.

Prologue.   As successful as the Ada version was, another company later won
the contract.   I no longer have any association with this project, but as I am told,
they hated Ada.   No technical reasons.   Simply the usual stupidity.   My informant
tells me they sought and got funding to convert the whole thing to their favorite
language and it is still not working properly.

> > And - some of the "big" features of C++ like exception handling were
> > copied from Ada.
>
> So what?

So, it was done badly.   C++ exception handling is far more complex than necessary.
I read a three-part article about C++ exception handling  in C++ Report several
years ago that was simply scary.    The more deeply one examines C++ exception
handling, the more one wants to avoid it, especially for safety-critical software.

Richard Riehle
AdaWorks Software Engineering
richard@adaworks.com





  parent reply	other threads:[~2001-07-23 19:26 UTC|newest]

Thread overview: 243+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-07-17 16:38 Ada The Best Language? codesavvy
2001-07-17 17:16 ` chris.danx
2001-07-17 21:35   ` JP
2001-07-18 12:04     ` Marc A. Criley
2001-07-18 13:13       ` Colin Paul Gloster
2001-07-18 15:03         ` OO Zealotry horror stories (was Re: Ada the Best Language) Marc A. Criley
2001-07-17 17:53 ` Ada The Best Language? Larry Kilgallen
2001-07-17 18:01 ` Marin David Condic
2001-07-18  2:10   ` codesavvy
2001-07-18 10:43     ` Larry Kilgallen
2001-07-18 14:27     ` Marin David Condic
2001-07-18 20:37       ` codesavvy
2001-07-18 21:11         ` Marin David Condic
2001-07-19 21:45           ` codesavvy
2001-07-18 22:02         ` Ed Falis
2001-07-19 21:50           ` codesavvy
2001-07-18 23:00         ` Larry Kilgallen
2001-07-19 21:55           ` codesavvy
2001-07-21  8:39             ` Martin Dowie
2001-07-22 14:18             ` John R. Strohm
2001-07-23  6:13               ` 
2001-07-23 11:16                 ` Lutz Donnerhacke
2001-07-23 12:27                 ` Marc A. Criley
2001-07-24  2:07                 ` Warren W. Gay VE3WWG
2001-07-20  4:12         ` Adrian Hoe
2001-07-18 17:26     ` Darren New
2001-07-18 18:03       ` Pascal Obry
2001-07-18 20:51       ` codesavvy
2001-07-18 21:03         ` David C. Hoos
2001-07-20  4:00           ` Adrian Hoe
2001-07-18 21:22         ` Darren New
2001-07-19  4:12         ` James Rogers
2001-07-19  8:59           ` Michal Nowak
2001-07-19 10:40           ` Larry Kilgallen
2001-07-19 12:20           ` codesavvy
2001-07-21 18:20         ` Lao Xiao Hai
2001-07-22  3:55           ` Robert C. Leif, Ph.D.
2001-07-18 21:08     ` Tucker Taft
2001-07-17 20:12 ` Jeffrey Carter
2001-07-17 21:15   ` Gerhard Häring
2001-07-17 21:38   ` Paul Storm
2001-07-18  2:03 ` Tomasz Wegrzanowski
2001-07-18  9:28   ` Gary Lisyansky
2001-07-18 10:42   ` Larry Kilgallen
2001-07-18  2:40 ` Beau
2001-07-18 10:35   ` codesavvy
2001-07-18 11:27     ` Jean-Pierre Rosen
2001-07-18 18:28       ` Brian Rogoff
2001-07-18 21:00         ` codesavvy
2001-07-19 17:31           ` Warren W. Gay VE3WWG
2001-07-19 21:36             ` codesavvy
2001-07-24  3:22               ` Warren W. Gay VE3WWG
2001-07-25  0:11                 ` David Bolen
2001-07-25  3:09                   ` Recent Ada Information (was: zhttp://www.aceshardware.com/Spades/r Larry Kilgallen
2001-07-25  3:32                     ` David Bolen
2001-07-25  4:53                     ` Larry Kilgallen
2001-07-25 10:50                   ` Ada The Best Language? codesavvy
2001-07-25 16:04                     ` Warren W. Gay VE3WWG
2001-07-25 21:49                       ` codesavvy
2001-07-26 17:24                         ` Warren W. Gay VE3WWG
2001-07-26 18:48                           ` Marin David Condic
2001-07-26 20:21                             ` Warren W. Gay VE3WWG
2001-07-26 20:52                               ` Marin David Condic
2001-07-26 17:26                         ` Pascal Obry
2001-07-25 19:39                     ` tmoran
2001-07-27  0:35                       ` David Bolen
2001-07-27  1:50                         ` Gary Scott
2001-07-27 14:05                         ` Marin David Condic
2001-07-28  6:42                         ` tmoran
2001-07-28 12:53                           ` When correct software meets illegal data (was: Ada The Best...) Larry Kilgallen
2001-07-28 18:42                             ` tmoran
2001-07-28 20:52                               ` Al Christians
2001-07-28 21:42                                 ` tmoran
2001-07-30  1:53                                 ` Warren W. Gay VE3WWG
2001-07-28  5:32                       ` Ada The Best Language? JM
2001-07-28  6:49                         ` Gerhard Häring
2001-07-28 12:04                           ` Matthew Woodcraft
2001-07-28 19:46                           ` tmoran
2001-07-29  1:01                             ` Gerhard Häring
2001-07-31  2:59                           ` Tom Moran
2001-07-31  9:40                             ` Larry Kilgallen
2001-07-31 10:10                               ` Preben Randhol
2001-07-26 13:22                   ` Marin David Condic
2001-07-20 11:20             ` Bertrand Augereau
2001-07-20 12:56               ` Marin David Condic
2001-07-20 13:18               ` Dmitry Kazakov
2001-07-20 17:27               ` Warren W. Gay VE3WWG
2001-07-20 18:14                 ` Bertrand Augereau
2001-07-20 19:10                   ` Marin David Condic
2001-07-20 20:12                     ` Bertrand Augereau
2001-07-20 20:48                       ` Marin David Condic
2001-07-23 11:09                       ` Lutz Donnerhacke
2001-07-20 19:38                   ` David C. Hoos
2001-07-22 13:13                     ` Bertrand Augereau
2001-07-22 20:35                       ` David C. Hoos, Sr.
2001-07-22 21:12                         ` Bertrand Augereau
2001-07-22 22:34                           ` David C. Hoos, Sr.
2001-07-23  7:41                           ` Dmitry Kazakov
2001-07-23  8:27                             ` Bertrand Augereau
2001-07-23 11:51                               ` Dmitry Kazakov
2001-07-23 12:06                                 ` Bertrand Augereau
2001-07-24  1:57                                   ` Warren W. Gay VE3WWG
2001-07-26 22:31                                   ` Larry Elmore
2001-07-24 14:08                           ` Pat Rogers
2001-07-24 14:29                             ` Bertrand Augereau
2001-07-24 14:49                               ` Pat Rogers
2001-07-24  1:51                   ` Warren W. Gay VE3WWG
2001-07-18 18:29       ` codesavvy
2001-07-18 21:48         ` Hambut
2001-07-18 22:00           ` Marin David Condic
2001-07-19 21:43           ` codesavvy
2001-07-19  7:45         ` Jean-Pierre Rosen
2001-07-18 11:55     ` Larry Kilgallen
2001-07-18 15:49     ` Alfred Hilscher
2001-07-18 20:48       ` codesavvy
2001-07-18 22:12         ` Pascal Obry
2001-07-18 23:22         ` chris.danx
2001-07-20 11:26           ` Bertrand Augereau
2001-07-20 12:11             ` chris.danx
2001-07-20 12:43               ` Bertrand Augereau
2001-07-20 17:37                 ` Warren W. Gay VE3WWG
2001-07-24 16:52                   ` Ted Dennison
2001-07-24 16:59                     ` Lutz Donnerhacke
2001-07-24 18:25                       ` Ted Dennison
2001-07-25 10:19                         ` Lutz Donnerhacke
2001-07-25 18:53                           ` Teergrubing (was: Ada The Best Language?) Ted Dennison
2001-07-24 20:14                     ` Ada The Best Language? Warren W. Gay VE3WWG
2001-07-24 21:11                     ` Florian Weimer
2001-07-24 22:52                       ` tmoran
2001-07-25  7:08                         ` Florian Weimer
2001-07-25  7:45                           ` tmoran
2001-07-25 15:44                       ` Warren W. Gay VE3WWG
2001-07-25 20:39                         ` Florian Weimer
2001-07-26 17:13                           ` Warren W. Gay VE3WWG
2001-07-26 21:08                             ` Florian Weimer
2001-07-25  4:03                     ` Tomasz Wegrzanowski
2001-07-24 17:23                 ` Ted Dennison
2001-07-20 12:14             ` Lutz Donnerhacke
2001-07-20 12:32               ` Bertrand Augereau
2001-07-20 12:39                 ` Lutz Donnerhacke
2001-07-20 13:28                   ` Bertrand Augereau
2001-07-20 14:19                     ` Lutz Donnerhacke
2001-07-20 15:39                       ` Bertrand Augereau
2001-07-20 15:47                         ` Lutz Donnerhacke
2001-07-20 16:55                           ` Bertrand Augereau
2001-07-23 11:05                             ` Lutz Donnerhacke
2001-07-23 19:42             ` Lao Xiao Hai
2001-07-19 10:43         ` Alfred Hilscher
2001-07-19 12:47         ` Marc A. Criley
2001-07-19 17:01           ` codesavvy
2001-07-21 12:53             ` Marc A. Criley
2001-07-23 19:26         ` Lao Xiao Hai [this message]
2001-07-18 15:05 ` McDoobie
2001-07-18 20:42   ` codesavvy
2001-07-21 15:38   ` Device drivers in Ada (was Re: Ada The Best Language?) Mark Lundquist
2001-07-21 19:09     ` Larry Kilgallen
2001-07-21 15:31 ` Ada The Best Language? Mark Lundquist
2001-07-23  4:15   ` codesavvy
2001-07-23  7:26     ` Martin Dowie
2001-07-23 14:18   ` Marin David Condic
2001-07-24  2:13   ` Warren W. Gay VE3WWG
  -- strict thread matches above, loose matches on Subject: below --
2001-07-18  8:32 Vinzent Hoefler
2001-07-18 12:25 ` Marc A. Criley
2001-07-19  1:03   ` Mike Silva
2001-07-20 11:30   ` Bertrand Augereau
2001-07-20 12:58     ` Marc A. Criley
2001-07-20 13:48       ` Bertrand Augereau
2001-07-20 14:56         ` Marin David Condic
2001-07-20 16:41           ` Bertrand Augereau
2001-07-20 17:47           ` Warren W. Gay VE3WWG
2001-07-20 19:33             ` David C. Hoos
2001-07-20 17:19         ` Marc A. Criley
2001-07-20 18:18           ` Bertrand Augereau
2001-08-06  8:13   ` stoog
2001-07-19 17:10 ` Tomasz Wegrzanowski
2001-07-20 13:31   ` Lutz Donnerhacke
2001-07-20 16:46     ` Tomasz Wegrzanowski
2001-07-20 17:00       ` David C. Hoos
2001-08-04  6:04         ` David Thompson
2001-08-05  2:22           ` Warren W. Gay VE3WWG
2001-07-23 10:12       ` Lutz Donnerhacke
2001-07-18  8:43 Vinzent Hoefler
2001-07-18  9:22 ` Gerhard Häring
2001-07-18  8:58   ` Lutz Donnerhacke
2001-07-18 14:06 ` codesavvy
2001-07-18 15:27   ` Marc A. Criley
2001-07-18 20:31     ` codesavvy
2001-07-18 21:29       ` Darren New
2001-07-18 21:56         ` Marin David Condic
2001-07-19  3:37           ` Larry Hazel
2001-07-19 18:19             ` Marin David Condic
2001-07-21 15:33             ` Mark Lundquist
2001-07-23 13:50               ` Marin David Condic
2001-07-24  4:52                 ` Robert C. Leif, Ph.D.
2001-07-24  6:47                   ` tmoran
2001-07-24 11:47                   ` Larry Kilgallen
2001-07-24 14:10                   ` Ted Dennison
2001-07-27 11:29                     ` Jacob Sparre Andersen
2001-07-19 21:47         ` codesavvy
2001-07-21  2:51           ` DuckE
2001-07-21  3:46           ` Darren New
2001-07-26  1:39           ` Lao Xiao Hai
2001-07-19 13:12       ` Marc A. Criley
2001-07-19 17:11         ` codesavvy
2001-07-21 14:10           ` Marc A. Criley
2001-07-19 14:12       ` Leif Roar Moldskred
2001-07-19 16:58         ` codesavvy
2001-07-19 18:29         ` Marin David Condic
2001-07-19 17:11 ` Tomasz Wegrzanowski
2001-07-19 18:33   ` Marin David Condic
2001-07-19 20:49     ` Tomasz Wegrzanowski
2001-07-19 21:01       ` Darren New
2001-07-19 21:20       ` Marin David Condic
2001-07-19 22:31         ` Tomasz Wegrzanowski
2001-07-19 23:04           ` Darren New
2001-07-19 23:36             ` Tomasz Wegrzanowski
2001-07-20 16:14             ` Ted Dennison
2001-07-20 17:51               ` Darren New
2001-07-20 17:54               ` Marin David Condic
2001-07-20 20:16                 ` Ted Dennison
2001-07-25  9:01           ` Colin Paul Gloster
2001-07-19 22:31       ` Larry Kilgallen
2001-07-18 14:40 Re[2]: " ANH_VO
2001-07-26  1:53 ` Lao Xiao Hai
2001-07-19  0:15 Beard, Frank
2001-07-19 12:24 ` codesavvy
2001-07-19  5:42 Vinzent Hoefler
2001-07-19  6:32 Vinzent Hoefler
2001-07-19  6:35 Vinzent Hoefler
2001-07-19 11:34 Vinzent Hoefler
2001-07-19 15:24 ` Alfred Hilscher
2001-07-19 15:38   ` nicolas
2001-07-19 17:28 ` Ted Dennison
2001-07-24 13:53   ` Colin Paul Gloster
2001-07-19 16:10 Vinzent Hoefler
2001-07-20  6:05 Vinzent Hoefler
2001-07-20  6:08 Vinzent Hoefler
2001-07-20 17:31 ` Warren W. Gay VE3WWG
2001-07-21 16:27   ` Jacob Sparre Andersen
2001-07-24  2:02     ` Warren W. Gay VE3WWG
2001-07-20  6:23 Vinzent Hoefler
2001-07-20  6:56 Vinzent Hoefler
2001-07-27 20:22 Beard, Frank
2001-07-27 21:28 ` Marin David Condic
2001-07-30  2:23 ` Warren W. Gay VE3WWG
2001-07-27 22:46 Beard, Frank
replies disabled

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