comp.lang.ada
 help / color / mirror / Atom feed
From: Dick Hendrickson <dick.hendrickson@att.net>
Subject: Re: Ada vs Fortran for scientific applications
Date: Wed, 24 May 2006 17:12:55 GMT
Date: 2006-05-24T17:12:55+00:00	[thread overview]
Message-ID: <ru0dg.156184$eR6.115957@bgtnsc04-news.ops.worldnet.att.net> (raw)
In-Reply-To: <pan.2006.05.24.15.48.07.783229@linuxchip.demon.co.uk.uk.uk>



Dr. Adrian Wrigley wrote:
> On Wed, 24 May 2006 15:19:23 +0000, Dick Hendrickson wrote:
> 
> 
>>
>>robin wrote:
>>
>>>"Dick Hendrickson" <dick.hendrickson@att.net> wrote in message
>>>news:PkHcg.90575$Fs1.7198@bgtnsc05-news.ops.worldnet.att.net...
>>>
>>>
>>>>Ada's is surely better.  Knowing that a subscript has to be
>>>>in range, because it's checked when a value is assigned to
>>>>the subscript variable, has to be more efficient than what
>>>>Fortran can do. In general, Fortran has to check the value
>>>>of the subscripts on every array reference.
>>>
>>>
>>>It can do this only if it is a compiler option.
>>>It is not a feature the language.
>>
>>There's a ambiguous "it" in those sentences. ;)
>>
>>But, if "it" refers to Fortran, subscript bounds rules
>>ARE a feature of the language.  You are NEVER allowed to
>>execute an out-of-bounds array reference in a Fortran
>>program.
> 
> ...
> 
> So what does the standard say must happen if you attempt
> such an access?  Can a program fail unpredictably under
> such (rather common!) circumstances - as routinely happens
> in C and C++, sometimes at great cost?

The Fortran standard says nothing at all about what must
happen for most run-time errors.  There is a requirement
that a compiler be able to diagnose syntax-like errors at
compile time.  There is also a requirement that some
(unspecified) I/O errors and some memory management errors
be checked for at run time.  The job will abort unless the
program uses one of the error detection methods.  But for
things like subscript bounds errors, or subroutine argument
mismatches, the standard doesn't impose anything on the
compiler.

In general, the standard imposes restrictions on standard
conforming programs, not on the compiler.  This allows
compilers to extend the standard in "useful" ways.
Technically, a standard conforming program is not allowed
to use these extensions, but many do ;).  Most compilers
implement a command line option to do enhanced syntax
checking and report use of extensions.

Subscript bounds errors usually go unchecked and do
whatever they do.  They're really fun to debug because
adding a PRINT statement usually moves the effect to
some other part of the program.  This isn't Fortran's
greatest strength ;) .  It was a compromise between
safety and speed.

The other big problem with [old] Fortran programs was
messing up the argument list in a procedure call.
Separate compilation made this a lot easier to do.
The Fortran 90 addition of MODULES essenially closes
this hole.  Most procedure interfaces now can be explicit
and the compiler must check for calling consistency.
It's harder to shoot yourself in the foot now, but
people can still lie to the compiler.

Dick Hendrickson
> --
> Adrian
> 




  reply	other threads:[~2006-05-24 17:12 UTC|newest]

Thread overview: 314+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-22  4:54 Ada vs Fortran for scientific applications Nasser Abbasi
2006-05-22  6:45 ` Brooks Moses
2006-05-22  7:41   ` Jan Vorbrüggen
2006-05-22 18:49     ` Brooks Moses
2006-05-23  5:51       ` Tim Prince
2006-05-23  8:56       ` Jan Vorbrüggen
2006-05-23 13:28         ` Greg Lindahl
2006-05-24  8:10           ` Jan Vorbrüggen
2006-05-24 15:19             ` Richard E Maine
2006-05-29 12:55               ` Jan Vorbrüggen
2006-05-24 15:24             ` Dick Hendrickson
2006-05-24 19:03               ` glen herrmannsfeldt
2006-05-29 12:56                 ` Jan Vorbrüggen
2006-05-29 20:07                   ` glen herrmannsfeldt
2006-05-30  4:55                   ` robert.corbett
2006-05-30  7:05                     ` Jan Vorbrüggen
2006-05-22 11:48   ` Michael Metcalf
2006-05-22 12:01     ` Dr. Adrian Wrigley
2006-05-23  8:34   ` Jon Harrop
2006-05-22  7:34 ` Dmitry A. Kazakov
2006-05-23  8:32   ` Jon Harrop
2006-05-22  7:36 ` Greg Lindahl
2006-05-22 21:25   ` Ken Plotkin
2006-05-22 21:40     ` blmblm
2006-05-23  2:12       ` Ken Plotkin
2006-05-23 15:32     ` Pascal Obry
2006-05-23 17:33       ` Marc A. Criley
2006-05-22 10:34 ` Tim Prince
2006-05-22 12:52 ` George N. White III
2006-05-22 13:02 ` Jean-Pierre Rosen
2006-05-22 15:23   ` Dan Nagle
2006-05-22 16:20     ` Nasser Abbasi
2006-05-22 16:38       ` Jan Vorbrüggen
2006-05-22 16:41       ` Gordon Sande
2006-05-22 16:48       ` Dan Nagle
2006-05-23  2:12         ` news.hinet.net
2006-05-22 17:22       ` Paul Van Delst
2006-05-23  7:04         ` Gareth Owen
2006-05-23  7:02           ` Martin Krischik
2006-05-23 14:23           ` Rich Townsend
2006-05-23 17:24             ` Brooks Moses
2006-05-23 18:40               ` Rich Townsend
2006-05-23 21:17                 ` Martin Dowie
2006-05-24  2:21                   ` Nasser Abbasi
2006-05-26 15:18                     ` Martin Dowie
2006-05-25 19:43                 ` Janne Blomqvist
2006-05-24  5:26       ` robin
2006-05-24  6:06         ` GF Thomas
2006-05-22 16:38     ` Richard E Maine
2006-05-23  8:25     ` Jean-Pierre Rosen
2006-05-23 11:40       ` Dan Nagle
2006-05-23 13:14         ` Dr. Adrian Wrigley
2006-05-23 17:07           ` Dan Nagle
2006-05-23 22:20             ` Dr. Adrian Wrigley
2006-05-23 22:49               ` Dan Nagle
2006-05-23 23:21                 ` Dr. Adrian Wrigley
2006-05-24  0:49                   ` Dan Nagle
2006-05-24  5:07                     ` GF Thomas
2006-05-24 12:56               ` J.F. Cornwall
2006-05-24 13:39                 ` Dr. Adrian Wrigley
2006-05-24 16:49                   ` J.F. Cornwall
2006-05-24 18:08                     ` Dr. Adrian Wrigley
2006-05-24  5:26         ` robin
2006-05-27  5:18         ` Aldebaran
2006-05-23 17:09       ` Dick Hendrickson
2006-05-23 17:53         ` Georg Bauhaus
2006-05-23 18:21         ` Dmitry A. Kazakov
2006-05-23 18:34           ` Brooks Moses
2006-05-24  7:15             ` Dmitry A. Kazakov
2006-05-23 20:33           ` Dick Hendrickson
2006-05-24  7:52         ` Jean-Pierre Rosen
2006-05-24 14:50         ` robin
2006-05-24 15:19           ` Dick Hendrickson
2006-05-24 15:43             ` Dr. Adrian Wrigley
2006-05-24 17:12               ` Dick Hendrickson [this message]
2006-05-24 17:32                 ` Richard E Maine
2006-05-24 17:54                 ` Dr. Adrian Wrigley
2006-05-24 18:10                   ` Richard E Maine
2006-05-24 18:39                     ` Nasser Abbasi
2006-05-24 19:36                       ` Gautier
2006-05-24 19:37                       ` Gautier
2006-05-24 19:56                         ` Richard E Maine
2006-05-30 19:39                           ` Craig Powers
2006-05-26  2:58                         ` robin
2006-05-24 18:34                   ` Gordon Sande
2006-05-24 18:40                     ` Ed Falis
2006-05-25 22:31                       ` Brooks Moses
2006-05-24 18:43                     ` Ed Falis
2006-05-24 18:59                       ` J.F. Cornwall
2006-05-24 19:10                       ` Gordon Sande
2006-05-25  3:40                       ` robin
2006-05-25 15:19                         ` Martin Krischik
2006-05-27 14:29                           ` robin
2006-05-27 13:22                             ` Georg Bauhaus
2006-05-29 11:46                             ` Jan Vorbrüggen
2006-05-29 17:37                             ` Martin Krischik
2006-05-24 21:04                   ` Dick Hendrickson
2006-05-31  4:26                     ` robert.corbett
2006-05-25  3:40                   ` robin
2006-05-24 16:03             ` Richard E Maine
2006-05-24 19:08               ` glen herrmannsfeldt
2006-05-25  3:40             ` robin
2006-05-25  5:04               ` Nasser Abbasi
2006-05-25  6:04                 ` Richard Maine
2006-05-25 10:42                   ` Shmuel (Seymour J.) Metz
2006-05-25 15:09                     ` Richard E Maine
2006-05-25 19:39                       ` Shmuel (Seymour J.) Metz
2006-05-25 12:09                   ` Dr. Adrian Wrigley
2006-05-25 12:42                     ` Dan Nagle
2006-05-25 12:45                     ` Gordon Sande
2006-05-25 16:23                       ` Checking for Undefined [was Re: Ada vs Fortran for scientific applications] Bob Lidral
2006-05-25 17:48                         ` Nasser Abbasi
2006-05-25 17:57                         ` Gordon Sande
2006-05-25 20:20                           ` Bob Lidral
2006-05-27 14:29                             ` Checking for Undefined robin
2006-05-25 20:35                           ` Checking for Undefined [was Re: Ada vs Fortran for scientific applications] glen herrmannsfeldt
2006-05-25 22:02                           ` Checking for Undefined Simon Wright
2006-05-27 14:29                           ` robin
2006-05-27 15:10                             ` Gordon Sande
2006-05-26  2:58                       ` Ada vs Fortran for scientific applications robin
2006-07-09 20:52                       ` adaworks
2006-07-09 21:33                         ` Brooks Moses
2006-07-10  3:08                           ` jimmaureenrogers
2006-07-10 11:23                           ` Björn Persson
2006-07-10 17:08                             ` Brooks Moses
2006-07-09 21:36                         ` James Giles
2006-07-09 22:29                           ` Martin Dowie
2006-07-09 23:07                             ` James Giles
2006-07-09 23:44                               ` glen herrmannsfeldt
2006-07-11  1:29                               ` robin
2006-07-09 23:19                           ` glen herrmannsfeldt
2006-07-11  1:29                             ` robin
2006-07-11  5:56                               ` glen herrmannsfeldt
2006-07-12  0:37                                 ` robin
2006-07-12  1:15                                   ` glen herrmannsfeldt
2006-07-14  2:47                                     ` Randy Brukardt
2006-07-14  2:56                                       ` glen herrmannsfeldt
2006-07-18  1:48                                     ` robin
2006-07-18 18:35                                       ` glen herrmannsfeldt
2006-07-19 14:35                                         ` BINARY INTEGER robin
2006-07-10  7:38                           ` Ada vs Fortran for scientific applications Dmitry A. Kazakov
2006-07-10 16:41                             ` adaworks
2006-07-10 18:12                               ` John W. Kennedy
2006-07-11  1:29                                 ` robin
2006-07-11  2:49                                   ` John W. Kennedy
2006-07-12  0:37                                     ` robin
2006-07-11  1:29                             ` robin
2006-07-11  6:46                               ` adaworks
2006-07-11  7:30                                 ` James Giles
2006-07-11 20:46                                   ` Simon Wright
2006-07-11 11:44                                 ` Jeffrey Creem
2006-07-11 14:51                                   ` adaworks
2006-07-12  1:29                                     ` Jeffrey Creem
2006-07-11 13:53                                 ` Tom Linden
2006-07-11 15:02                                   ` adaworks
2006-07-11 15:35                                     ` Tom Linden
2006-07-11 16:54                                       ` Alex R. Mosteo
2006-07-11 17:43                                       ` adaworks
2006-07-11 18:15                                         ` Ed Falis
2006-07-11 14:46                                 ` John W. Kennedy
2006-07-11 14:45                                   ` Tom Linden
2006-07-11 17:06                                     ` John W. Kennedy
2006-07-11 15:16                                   ` glen herrmannsfeldt
2006-07-11 15:55                                     ` Richard E Maine
2006-07-11 16:21                                       ` Ed Falis
2006-07-11 16:28                                         ` Richard E Maine
2006-07-12  3:33                                       ` James Dennett
2006-07-11 17:08                                   ` Jean-Pierre Rosen
2006-07-11 22:44                                     ` glen herrmannsfeldt
2006-07-12  9:50                                       ` Jean-Pierre Rosen
2006-07-14  7:00                                         ` glen herrmannsfeldt
2006-07-12  3:35                                     ` James Dennett
2006-07-12  0:37                                   ` robin
2006-07-10  9:57                           ` Georg Bauhaus
2006-07-11 15:14                         ` robin
2006-07-11 17:21                           ` adaworks
2006-07-11 19:50                             ` John W. Kennedy
2006-11-20  9:39                         ` robin
2006-11-21  9:02                           ` Finalization Philippe Tarroux
2006-11-21  9:22                             ` Finalization Dmitry A. Kazakov
2006-11-21 10:32                               ` Finalization Philippe Tarroux
2006-11-21 11:09                                 ` Finalization Dmitry A. Kazakov
2006-11-21 17:29                                   ` Finalization Adam Beneschan
2006-11-21 18:39                                     ` Finalization Dmitry A. Kazakov
2006-11-21 17:22                                 ` Finalization Adam Beneschan
2006-11-21 11:26                             ` Finalization Georg Bauhaus
2006-05-25 16:25                     ` Bounds Check Overhead [was: Re: Ada vs Fortran for scientific applications] Bob Lidral
2006-05-25 22:08                       ` Bounds Check Overhead Simon Wright
2006-05-25 22:27                         ` Brooks Moses
2006-05-25 22:43                           ` Richard E Maine
2006-05-26 10:16                           ` Ludovic Brenta
2006-05-26 10:59                             ` Dan Nagle
2006-05-26 14:44                               ` Dick Hendrickson
2006-05-26 14:52                                 ` Rich Townsend
2006-05-26 16:44                                   ` Ludovic Brenta
2006-05-26 17:49                                     ` Gordon Sande
2006-05-27  9:06                                       ` Dmitry A. Kazakov
2006-05-27 14:44                                         ` Richard Maine
2006-05-29 12:02                                         ` Jan Vorbrüggen
2006-05-26 20:31                                     ` glen herrmannsfeldt
2006-05-27 14:29                                     ` robin
2006-05-26 14:59                                 ` gary.l.scott
2006-05-26 15:10                                   ` Dick Hendrickson
2006-05-26 18:41                                     ` gary.l.scott
2006-05-26 18:56                                       ` Dan Nagle
2006-05-26 19:16                                         ` Richard Maine
2006-05-27 14:29                               ` robin
2006-05-26 16:18                             ` Richard Maine
2006-05-26 17:30                               ` Nasser Abbasi
2006-05-26 18:24                                 ` Richard Maine
2006-05-26 19:23                                   ` Paul Van Delst
2006-05-26 19:25                                   ` Nasser Abbasi
2006-05-26 19:46                                     ` Richard Maine
2006-05-30 19:13                                       ` Robert A Duff
2006-06-04 23:48                                         ` Richard Maine
2006-05-26 18:26                                 ` Rich Townsend
2006-05-26 19:58                                   ` Simon Wright
2006-05-26 20:06                                     ` Rich Townsend
2006-05-26 20:16                                       ` Richard Edgar
2006-05-26 20:28                                       ` Richard Maine
2006-05-30 19:20                                         ` Robert A Duff
2006-06-05 13:50                                           ` Richard Edgar
2006-05-26 20:27                               ` glen herrmannsfeldt
2006-05-26 20:41                                 ` Richard Maine
2006-05-27 14:29                         ` robin
2006-05-27 14:56                           ` Ludovic Brenta
2006-05-27 15:53                             ` jimmaureenrogers
2006-05-27 15:59                             ` Dmitry A. Kazakov
2006-05-27 17:52                               ` Tom LINDEN
2006-05-28  6:28                                 ` Dave Weatherall
2006-05-26  2:58                     ` Ada vs Fortran for scientific applications robin
2006-05-29 12:21                     ` Jan Vorbrüggen
2006-05-29 13:47                       ` Dr. Adrian Wrigley
2006-05-29 14:17                         ` Jan Vorbrüggen
2006-05-29 14:52                           ` Dmitry A. Kazakov
2006-05-29 15:08                             ` Jan Vorbrüggen
2006-05-29 17:03                               ` Dmitry A. Kazakov
2006-05-30  7:11                                 ` Jan Vorbrüggen
2006-05-30  8:29                                   ` Dmitry A. Kazakov
2006-05-31 14:58                                     ` robin
2006-05-31 14:58                                 ` robin
2006-05-31 15:42                                   ` Dmitry A. Kazakov
2006-05-31 15:54                                     ` Gordon Sande
2006-05-31 14:58                             ` robin
2006-05-31 18:07                               ` Marc A. Criley
2006-05-29 15:47                           ` Dr. Adrian Wrigley
     [not found]                   ` <pan.2006.05.25.12.11.52.919554@linuxchip.demon.co.uk.u <2006052514574816807-gsande@worldnetattnet>
2006-05-25 18:30                     ` Checking for Undefined [was Re: Ada vs Fortran for scientific applications] Thomas Koenig
2006-05-25 18:34                       ` Gordon Sande
2006-05-26  2:58                   ` Ada vs Fortran for scientific applications robin
     [not found]                   ` <pan.2006.05.25.12.11.52.919554@linuxchip.demon.co.uk.u <m2r72h69vz.fsf@grendel.local>
2006-05-26  7:54                     ` Checking for Undefined Dirk Craeynest
2006-05-26 15:04                       ` Dick Hendrickson
2006-05-27 14:29                         ` robin
2006-05-27 15:08                           ` Gordon Sande
2006-05-28  0:56                             ` robin
2006-05-28  1:04                               ` glen herrmannsfeldt
2006-05-28 13:46                               ` Gordon Sande
     [not found]                   ` <pan.2006.05.25.12.11.52.919554@linuxchip.demon.co.uk.u <e574mu$rrj$1@scrotar.nss.udel.edu>
2006-05-26 18:53                     ` Bounds Check Overhead Thomas Koenig
2006-05-26 19:07                       ` Richard Maine
     [not found]                   ` <pan.2006.05.25.12.11.52.919554@linuxchip <20060712.7A4E6E0.D028@mojaveg.lsan.sisna.com>
     [not found]                     ` <20060712.7A4E6E0.D028@mojaveg.lsan.sisna.com>
2006-07-14  6:08                       ` Ada vs Fortran for scientific applications Bob Lidral
2006-07-14  6:17                         ` Richard Maine
2006-07-17 12:44                           ` ONES COMPLEMENT (was: Ada vs Fortran for scientific applications) robin
     [not found]                   ` <20060712.7A4E6E0.D028@mojaveg.lsan.sisna <20060714.7A4E988.A30D@mojaveg.lsan.sisna.com>
     [not found]                     ` <20060714.7A4E988.A30D@mojaveg.lsan.sisna.com>
2006-07-16  9:07                       ` Ada vs Fortran for scientific applications glen herrmannsfeldt
2006-07-18  1:48                         ` ONES COMPLEMENT (was: Ada vs Fortran for scientific applications) robin
2006-07-18 18:41                           ` ONES COMPLEMENT glen herrmannsfeldt
2006-07-19 13:41                             ` robin
2006-07-22  0:09                             ` Richard Steiner
     [not found]                   ` <20060712.7A4E6E0.D028@mojaveg.lsan.sisna <20060717.7A4ADD0.10B1A@mojaveg.lsan.sisna.com>
2006-07-18 13:05                     ` ONES COMPLEMENT (was: Ada vs Fortran for scientific applications) Shmuel (Seymour J.) Metz
2006-07-19 11:18                       ` ONES COMPLEMENT Peter Flass
2006-07-19 17:14                         ` glen herrmannsfeldt
2006-07-19 23:43                           ` robin
2006-07-19 13:41                       ` robin
2006-07-19 17:11                       ` ONES COMPLEMENT (was: Ada vs Fortran for scientific applications) Everett M. Greene
2006-07-19 19:40                         ` Shmuel (Seymour J.) Metz
2006-07-20 16:46                           ` Everett M. Greene
2006-07-20 21:47                             ` Shmuel (Seymour J.) Metz
2006-07-21 17:23                               ` ONES COMPLEMENT glen herrmannsfeldt
2006-07-21 18:04                                 ` John W. Kennedy
2006-07-23  0:26                                   ` robin
2006-07-23  0:26                                 ` robin
2006-07-21 20:05                               ` glen herrmannsfeldt
2006-07-21 21:00                                 ` Dick Hendrickson
2006-07-22  6:19                                   ` glen herrmannsfeldt
2006-07-22 15:12                               ` ONES COMPLEMENT (was: Ada vs Fortran for scientific applications) Everett M. Greene
2006-07-23  0:26                               ` ONES COMPLEMENT robin
     [not found]                     ` <20060717.7A4ADD0.10B1A@mojaveg.lsan.sisna.com>
2006-07-19  6:54                       ` glen herrmannsfeldt
2006-07-19 12:47                         ` Tom Linden
2006-07-19 14:35                         ` robin
2006-05-25 11:02               ` Ada vs Fortran for scientific applications Dan Nagle
2006-05-25 11:23                 ` Gareth Owen
2006-05-26  2:58                   ` robin
2006-05-26  7:13                     ` Gareth Owen
2006-05-26 14:53                     ` Dick Hendrickson
2006-05-26 20:18                       ` glen herrmannsfeldt
2006-05-26 21:50                         ` Björn Persson
2006-05-25 14:33                 ` glen herrmannsfeldt
2006-05-26  2:58                 ` robin
2006-05-26 20:03                 ` JA
2006-05-25 11:32             ` Martin Krischik
2006-05-24  6:46       ` Jan Vorbrüggen
2006-05-24  5:26   ` robin
2006-05-23  8:34 ` gautier_niouzes
2006-05-23 13:33 ` Nasser Abbasi
2006-05-23 14:00   ` Michael Metcalf
2006-05-23 15:04   ` beliavsky
2006-05-23 18:09     ` glen herrmannsfeldt
2006-05-23 22:38     ` Jeffrey Creem
2006-05-23 19:29   ` Gautier
2006-05-23 19:34     ` Rich Townsend
2006-05-23 17:57 ` Aldebaran
2006-05-23 22:14   ` Dr Ivan D. Reid
2006-05-23 23:01 ` John
2006-05-27  5:01 ` Nasser Abbasi
2006-05-27  7:36   ` Pascal Obry
2006-05-27 11:18   ` Björn Persson
replies disabled

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