comp.lang.ada
 help / color / mirror / Atom feed
* Re: Fortran or Ada?
@ 1998-09-23  0:00 Marin David Condic, 561.796.8997, M/S 731-96
  1998-09-23  0:00 ` Gisle S{lensminde
  1998-09-24  0:00 ` Samuel T. Harris
  0 siblings, 2 replies; 96+ messages in thread
From: Marin David Condic, 561.796.8997, M/S 731-96 @ 1998-09-23  0:00 UTC (permalink / raw)


Gisle S{lensminde <gisle@KRAKE.II.UIB.NO> writes:
>But if we write comparable code in both languages, I would think that
>Fortran would win in a raw speed test, because some of the Fortran
>compilers optimize extremly well.
>
    If you have not already heard from the compiler writers in the
    crowd, I'm sure you will. You can't really compare "The Speed Of
    Ada" to "The Speed Of Fortran" because it isn't the language that
    makes it fast, it's the implementation. I have seen some really
    crappy code generation done for Ada and I have seen code
    generation that is every bit as tight as anything you can get out
    of Fortran. As long as you are comparing similar features (say,
    basic arithmetic operations, or looping or branching, etc.) I
    think you'll find that there is no reason why the Ada won't
    compile down as tightly as similar statements in Fortran.

    Oh, sure, if you leave in checks that Fortran doesn't perform,
    you'll see Ada code that is slower. But I don't know of any Ada
    compilers where you can't disable those checks and run without the
    safety net if speed is an issue. (We do it regularly around here
    for our real time control systems.) Also, I've heard tell of
    Fortran compilers that included support for specialized hardware
    (the Cray comes to mind) where they could generate extremely fast
    code to, say, multiply vectors and such. But that's a little like
    cheating since you are talking about a customized compiler for a
    very narrow niche. One could do the same with an Ada compiler, but
    you'd have to be spending the money to build it for the same niche
    and that might not make economic sense.

    We regularly build hard, real time systems with Ada and are almost
    always evaluating some kind of compiler technology. We have yet to
    see the case made that "Language X" can't be compiled as tightly
    as "Language Y" provided that both languages implement similar
    features so that we are comparing apples and apples. (O.K., there
    *is* Befunge, which is a language beyond the bounds of sanity. So
    maybe I speak too strongly... ;-)

    MDC
Marin David Condic, Senior Computer Engineer     Voice:     561.796.8997
Pratt & Whitney GESP, M/S 731-95, P.O.B. 109600  Fax:       561.796.4669
West Palm Beach, FL, 33410-9600                  Internet:  CONDICMA@PWFL.COM
=============================================================================
    "The reasonable man adapts himself to the world; the unreasonable
    one persists in trying to adapt the world to himself. Therefore
    all progress depends on the unreasonable man."
        --  G.B. Shaw
=============================================================================




^ permalink raw reply	[flat|nested] 96+ messages in thread
* Re: Fortran or Ada?
@ 1998-09-23  0:00 Marin David Condic, 561.796.8997, M/S 731-96
  0 siblings, 0 replies; 96+ messages in thread
From: Marin David Condic, 561.796.8997, M/S 731-96 @ 1998-09-23  0:00 UTC (permalink / raw)


Jeff Templon <templon@VISAR.PHYSAST.UGA.EDU> writes:
>one other word on Ada ... it is a very complex language.  Take a look
>at Cohen's "Ada as a Second Language" book and compare it Metcalf
>and Reid's F95 book!  Cohen is not spending time on elementary concepts
>either.
>
>So Ada loses in this respect : there is a lot of language to know.
>This makes it more difficult to write programs, unless one invests
>the time to learn the language well.  This amount of time would
>be less for Fortran.
>
    I regularly teach a beginning course in Ada for our engineers and
    it takes about two 4 hour sessions. I get them up to speed with
    the basic data type concepts, flow-of-control mechanisms,
    subprograms and packages. I talk only minimally about tasks,
    generics and other complex features, just so they know these
    features exist. By the end of the class, my students are able to
    write most of the sorts of functions they used to do in Fortran or
    C.

    I'll give you that there are *lots* of features to Ada. I'll even
    concede that some of the features are complex and difficult to
    understand or use correctly. But my experience is that it is not
    hard for engineers to learn to use the language effectively,
    provided they don't approach it with a bad attitude. (I've had
    students who took my class for the express purpose of arguing with
    me about why language XYZ was cool and why did they have to learn
    Ada when everyone knows that it sucks :-)

    I have not used Fortran in so many years that it would be unfair
    for me to make any statements about Fortran as it is today. But my
    recollection was that Fortran had its own dark corners of
    obscurity as well. Mostly, I used the easy to understand subset of
    it unless there was some reason to get more complex. I think that
    is the way most of us use any language - including English :-)

    MDC
Marin David Condic, Senior Computer Engineer     Voice:     561.796.8997
Pratt & Whitney GESP, M/S 731-95, P.O.B. 109600  Fax:       561.796.4669
West Palm Beach, FL, 33410-9600                  Internet:  CONDICMA@PWFL.COM
=============================================================================
    "The reasonable man adapts himself to the world; the unreasonable
    one persists in trying to adapt the world to himself. Therefore
    all progress depends on the unreasonable man."
        --  G.B. Shaw
=============================================================================




^ permalink raw reply	[flat|nested] 96+ messages in thread
* Re: Fortran or Ada?
@ 1998-09-24  0:00 Walt Brainerd
  1998-09-25  0:00 ` dewarr
  1998-09-25  0:00 ` Robert I. Eachus
  0 siblings, 2 replies; 96+ messages in thread
From: Walt Brainerd @ 1998-09-24  0:00 UTC (permalink / raw)


dewarr@my-dejanews.com wrote:

> Well it is certainly a design point of Ada to avoid situations
> in which small lexical errors cause major differences in the
> meaning of a program, and I think it achieves this goal pretty
> well. Certainly better than . . .
> 
> . . . Fortran:
> 
>      Do 10 i = 1.6
> 
> the latter being the (in)famous bug at the heart of the urban
> legend that the Venus probe died because of this bug :-)

By Fortran, you must mean Fortran 77 because there are three
features in Fortran 90/95 that will cause this to be classified
as an error:

1.  implicit none (causing Do10i to be caught as an undeclared
    variable)

2.  Significant blanks in the free source form (making the
    statement illegal syntactially)

3.  Use of do-end do form instead of those old-fashioned labels
    (in which case a syntactially illegal do statement will
    produce an end do with no matching do).

BTW, I think Ada is (also) a great language.

-- 
Walt Brainerd                walt@fortran.com
Unicomp, Inc.                +1-520-298-7212 298-7074 (fax)
7660 E. Broadway, Suite 203  +1-500-Fortran (367-8726)
Tucson, AZ 85710 USA         http://www.fortran.com/fortran




^ permalink raw reply	[flat|nested] 96+ messages in thread
* Re: Fortran or Ada?
@ 1998-10-05  0:00 robin
  0 siblings, 0 replies; 96+ messages in thread
From: robin @ 1998-10-05  0:00 UTC (permalink / raw)


Niklas Holsti <nholsti@icon.fi> writes: > Toon Moene wrote:
> > 
> > In my mind, an exception is a sign that the assumptions behind the
> > (physics/mathematics) of your model is wrong, and - even though that pertains
> > to a large extent also to rocket ascent - this would not lead to a reasonably
> > safe procedure here.
> 
> Yes, this is one category of exceptions (the other category is where
> exception handling is used to catch rare but foreseeable situations,
> such
> as errors in input data files -- END= and ERR= labels, for example).
> 
> It seems that the designers of the Ariane 4 guidance system had this
> view, except that their "model" included the processing hardware in
> addition to the models encoded in the software. To decide how to handle
> the overflow exception, they had to guess which part of their model was
> at fault -- whether the hardware or the software was wrong.

No guessing was involved.  Any kind of interrupt is treated
as a hardware error.

This was the fundamental flaw in their assumptions.

> They guessed
> "hardware error". In the context of Ariane 4, it hasn't been shown that
> this was the wrong thing to do.

The Report criticized the assumption [that sofware errors couldn't
happen].
 
> The odds in this guess must depend on how well the software models were
> verified and validated. I haven't seen any claims that the software
> models were not correct for Ariane 4.
> 
> Niklas Holsti
> Space Systems Finland Ltd
> (This comment expresses personal opinion and not Space Systems Finland
> policy.)





^ permalink raw reply	[flat|nested] 96+ messages in thread
* Re: Fortran or Ada?
@ 1998-10-05  0:00 Condic, Marin D.
  0 siblings, 0 replies; 96+ messages in thread
From: Condic, Marin D. @ 1998-10-05  0:00 UTC (permalink / raw)


You know, I heard that the oxygen canisters which blew up on the ValueJet
that crashed here a couple of years ago got on board because of an error
made by some baggage handling software written in Ada.

And I had heard that Linda Tripp's tape recorder was programmed in Ada, and
see how much trouble that has caused!

And Jeffrey Dhalmer was an Ada programmer before he became a mass murder and
cannibal. Coincidence? I think not!

Just more examples of how terribly dangerous Ada must be. (tongue firmly
embedded in cheek ;-)

In all seriousness, there are always going to be people who have some sort
of predisposition to dislike Ada and then they are going to go off fishing
for reasons why that is somehow a rational belief. Any rational being, upon
reading the accident report, would have to conclude that the problem was one
rooted in the fact that they took software that successfully operated on
project A and moved it to project B without ever testing it in the new
environment. The people who concentrate on Ada/Exception/Whatever features
as the "cause" of the disaster are the types who would look at a failed bolt
under an electron microscope and conclude that the "cause" of the accident
was these micro-stress-cracks originating from uneven case-hardening, yada
yada yada.... They'd never notice that the bolt should have been three times
as big for the application it was expected to handle.

MDC


"Robert I. Eachus" <eachus@SPECTRE.MITRE.ORG> writes:
>In rticle <19980928.184428.604@yktvmv.watson.ibm.com>
>jbs@yktvmv.watson.ibm.com writes:
>
>   > It appears to me that this implicates Ada in at least two respects...
>
>    If you read a little more, you will find that it doesn't implicate
>Ada or any other programming language.  They followed this particular
>fault tree all the way down because it occurred, not because the
>rocket would have survived if it hadn't.  Note later in the report
>where it says that the stack was destroyed when the engine deflection
>exceeded the physical stress limits of the stack (booster and
>payload).  Because the software was used WITHOUT CHANGE from the
>Arianne 4, it contained the wrong physical parameters for the dynamic
>deflection limits.  This launch was a disaster waiting to happen, and
>no programming language is going to save you from putting in the wrong
>numbers.  The particular error that occurred was just the first case
>where differences between the Arianne 4 and Arianne 5 became
>significant.
>
>    One last note which bears repeating.  There were no programmers or
>other non-management personnel at fault, because management ELIMINATED
>all such positions.  The inertial management unit was being reused
>without change on the Arianne 5, so no developers were ever hired.
>Given a choice of test methods, they chose to demonstrate that the IMU
>worked.  But the "full-up" simulation testing was cancelled--as a cost
>saving--before the development work on the non-flight parts was
>complete.  No non-manager ever had both the Ariane 5 technical specs
>and the flight guidance software in hand, with or without authority to
>evaluate or test one against the other.
>
>

Marin D. Condic
Real Time & Embedded Systems
Pratt & Whitney,
Government Engines & Space Propulsion
M/S 731-95, P.O.B. 109600,
West Palm Beach, FL, 33410-9600
Ph: 561.796.8997         Fx: 561.796.4669

"The speed with which people can change a courtesy into an entitlement is
awe-inspiring."
        --  Miss Manners, February 8, 1994




^ permalink raw reply	[flat|nested] 96+ messages in thread
* Re: Fortran or Ada?
@ 1998-10-05  0:00 Robert I. Eachus
  0 siblings, 0 replies; 96+ messages in thread
From: Robert I. Eachus @ 1998-10-05  0:00 UTC (permalink / raw)


At 12:40 PM 10/5/98 -0400, Condic, Marin D. wrote:
> They'd never notice that the bolt should have been three times
>as big for the application it was expected to handle.

   Yep, but as far as I am concerned, this is the equivalent of the
"Galloping Gertie" (Tacoma Narrows Bridge) for software engineering.
Probably the most expensive software engineering failure ever, and, as in
the Tacoma Narrows case, it was a management not a design failure.

                                        Robert I. Eachus

with Standard_Disclaimer;
use  Standard_Disclaimer;
function Message (Text: in Clever_Ideas) return Better_Ideas is...




^ permalink raw reply	[flat|nested] 96+ messages in thread

end of thread, other threads:[~1998-10-08  0:00 UTC | newest]

Thread overview: 96+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <36068E73.F0398C54@meca.polymtl.ca>
1998-09-22  0:00 ` Fortran or Ada? Gisle S{lensminde
1998-09-22  0:00   ` Jeff Templon
1998-09-22  0:00     ` dewarr
1998-09-23  0:00       ` Jeff Templon
1998-09-23  0:00         ` Corey Minyard
1998-09-24  0:00           ` Joel Seidman
1998-09-24  0:00           ` Craig Burley
1998-09-25  0:00             ` dewarr
1998-09-25  0:00               ` Jonathan Guthrie
1998-09-26  0:00               ` Craig Burley
1998-09-26  0:00                 ` dewarr
1998-09-26  0:00                   ` Craig Burley
1998-09-26  0:00                   ` Robert B. Love 
1998-09-24  0:00         ` Marc A. Criley
1998-09-24  0:00           ` Jeff Templon
1998-09-25  0:00             ` dewarr
1998-09-25  0:00             ` Dale Stanbrough
1998-09-30  0:00               ` Daniel Barker
1998-09-30  0:00                 ` Lawrence Kirby
1998-10-01  0:00                   ` Aaron Crane
1998-10-02  0:00                 ` Fortran or Ada or gobbledygook? Wes Groleau
1998-10-05  0:00                 ` Fortran or Ada? Terry Devine
1998-09-24  0:00           ` dewarr
1998-09-24  0:00             ` Robert I. Eachus
1998-09-24  0:00               ` William Clodius
1998-09-25  0:00                 ` dewarr
1998-09-25  0:00               ` dewarr
1998-09-25  0:00                 ` Robert I. Eachus
1998-09-25  0:00                   ` dewarr
1998-09-25  0:00             ` jbs
1998-09-26  0:00               ` dewarr
1998-09-28  0:00                 ` jbs
1998-09-29  0:00                   ` Dean F. Sutherland
1998-09-29  0:00                   ` William B. Clodius
1998-09-30  0:00                     ` jbs
1998-09-30  0:00                       ` dewarr
1998-09-30  0:00                         ` jbs
1998-09-30  0:00                           ` William Clodius
1998-09-30  0:00                       ` William Clodius
1998-10-03  0:00                       ` Niklas Holsti
1998-10-03  0:00                         ` Toon Moene
1998-10-03  0:00                           ` Niklas Holsti
1998-10-03  0:00                             ` Toon Moene
1998-10-04  0:00                               ` Niklas Holsti
1998-10-05  0:00                                 ` Michel OLAGNON
1998-10-05  0:00                                   ` Ian St. John
1998-10-05  0:00                                     ` dewarr
1998-10-05  0:00                                       ` Ian St. John
1998-10-06  0:00                                         ` dewarr
1998-10-06  0:00                                           ` James Giles
1998-10-06  0:00                                             ` Mark A Biggar
1998-10-06  0:00                                               ` James Giles
1998-10-07  0:00                                                 ` dewarr
1998-10-07  0:00                                             ` dewarr
1998-10-06  0:00                                           ` Ian St. John
1998-10-08  0:00                                             ` Offtopic Airport Diversion (Was: Fortran or Ada?) Harold Stevens ** PLEASE SEE SIG **
1998-10-08  0:00                                               ` Ian St. John
1998-10-08  0:00                                             ` Fortran or Ada? Gary L. Scott
1998-10-06  0:00                                           ` Toon Moene
1998-10-06  0:00                                             ` Jonathan Guthrie
1998-10-05  0:00                                     ` Richard D Riehle
1998-10-05  0:00                                       ` dewarr
1998-10-06  0:00                                     ` Michel OLAGNON
1998-10-07  0:00                                       ` Ian St. John
1998-09-29  0:00                   ` Gautier.DeMontmollin
1998-09-29  0:00                   ` Dean F. Sutherland
1998-09-29  0:00                   ` Dean F. Sutherland
1998-10-02  0:00                   ` Geoff Bull
1998-10-02  0:00                   ` Robert I. Eachus
1998-10-02  0:00                     ` jbs
1998-10-02  0:00                       ` William Clodius
1998-10-03  0:00                         ` jbs
1998-10-03  0:00                           ` Larry Elmore
1998-10-06  0:00                           ` Robert I. Eachus
1998-10-06  0:00                             ` Pat Rogers
     [not found]           ` <6udre0$ha1$1@nnrp1.dejane <6utg60$h6l$1@nnrp1.dejanews.com>
1998-10-01  0:00             ` robin_v
1998-09-22  0:00     ` Corey Minyard
1998-09-22  0:00     ` Larry Kilgallen
1998-09-22  0:00     ` Rakesh Malhotra
1998-09-23  0:00     ` Frank Ecke
1998-09-23  0:00   ` bglbv
1998-09-23  0:00     ` Robert I. Eachus
1998-09-24  0:00       ` Richard D Riehle
1998-09-23  0:00 Marin David Condic, 561.796.8997, M/S 731-96
1998-09-23  0:00 ` Gisle S{lensminde
1998-09-24  0:00   ` John McCabe
1998-09-24  0:00     ` Gisle S{lensminde
1998-09-24  0:00     ` Dean F. Sutherland
1998-09-24  0:00 ` Samuel T. Harris
  -- strict thread matches above, loose matches on Subject: below --
1998-09-23  0:00 Marin David Condic, 561.796.8997, M/S 731-96
1998-09-24  0:00 Walt Brainerd
1998-09-25  0:00 ` dewarr
1998-09-25  0:00 ` Robert I. Eachus
1998-10-05  0:00 robin
1998-10-05  0:00 Condic, Marin D.
1998-10-05  0:00 Robert I. Eachus

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