comp.lang.ada
 help / color / mirror / Atom feed
From: fj <francois.jacq@irsn.fr>
Subject: Re: another way to shoot yourself in the foot?
Date: Thu, 10 Jul 2008 07:57:59 -0700 (PDT)
Date: 2008-07-10T07:57:59-07:00	[thread overview]
Message-ID: <22c10ab3-23ff-4ac4-8f33-88721d41cdf9@z66g2000hsc.googlegroups.com> (raw)
In-Reply-To: Pine.WNT.4.64.0807101358050.6656@teor2

On 10 juil, 16:10, Colin Paul Gloster <Colin_Paul_Glos...@ACM.org>
wrote:
> On Wed, 9 Jul 2008, Richard Maine wrote:
>
> |------------------------------------------------------------------------|
> |"Colin Paul Gloster <Colin_Paul_Glos...@ACM.org> wrote:                 |
> |[a very long post including quite a lot of quotations of me, among      |
> |others]                                                                 |
> |                                                                        |
> |I'm afraid that this post was too long and rambling for me to follow it.|
> |I could not detect any coherent message in it, other than perhaps a hint|
> |of randomly assembling quotes that sounded negative about Fortran (often|
> |out of context, at least for some of mine)."                            |
> |------------------------------------------------------------------------|
>
> Dear Richard and everyone else,
>
> I did not intentionally take quotes about Fortran out of
> context. If you can spare the time, then please help me to learn
> Fortran by explaining my misconceptions.
>
> |------------------------------------------------------------------------|
> |" In addition to preferring                                             |
> |coherent organization and readability in my coding, I prefer the same in|
> |newsgroup postings.                                                     |
> |                                                                        |
> |If you have some actual message that you are hoping I might respond to, |
> |you'll have to state it a bit more coherently and concisely."           |
> |------------------------------------------------------------------------|
>
> Please find below a summary of most of that post posed as yes-or-no
> questions. I have tried to rephrase
> /-----------------------------------------------------------------------/
> /"Gary Scott edited out all citations to newsgroup posts from circa 2007/
> /which do not promote Fortran. Perhaps posters to                       /
> /news:comp.lang.fortran would care to inform me as to whether or not    /
> /they are valid..."                                                     /
> /-----------------------------------------------------------------------/
> "a bit more coherently and concisely."
>
> |------------------------------------------------------------------------|
> |" Decoding                                                              |
> |that tome doesn't seem worth the work. If the message is just a general |
> |language flame, which is perhaps the main flavor I hear, then you need  |
> |not bother, as I won't respond, coherent or not."                       |
> |------------------------------------------------------------------------|
>
> I had looked at some Fortran newsgroup articles and webpages and code
> in 2007, but I have only started in a Fortran project this year. I
> have started to read a Fortran book for the first time this week. The
> Fortran project which I have joined so far involves replacing Fortran
> with C++. This had begun before I have joined. I do not approve of
> replacing Fortran with C++. However, if Ada is better than Fortran,
> then I approve of replacing Fortran and C++ with Ada. So, please
> rectify any misconceptions which I may have. (Later, if Fortran
> compilers produce much faster executables, then I may be motivated to
> use some Fortran even if I shall still believe then that Ada is a
> better language overall.)
>
> I did point out in the long post that Ada is not perfect with respect
> to all of these flaws.
>
> If answers differ with respect to different versions of Fortran
> (e.g. 77; 90; 95; 2003; 2008; and any others worth considering), then
> please elaborate accordingly...
>
> Does Fortran have undefined behavior?

Only with invalid (non conforming) programming

>
> Does Fortran always automatically check if the INTERFACE actually
> corresponds to the code?
>
> Does Fortran statically forbid out-of-bounds array accesses at
> compilation time?

No but nice Fortran compilers provide this feature.

>
> Does Fortran allow argument mismatch?

No if you use modules ( >= F90 ), put all sub-routines in modules and
adopt USE.
>
> Are Fortran 90 modules compatible at the binary level on the same
> architecture?

No

>
> Does Fortran have an exception mechanism?

Yes ... if alternate return capability is condidered (>= Fortran
2 ???)

Yes if you want to test IEEE exceptions (>= F2003) but the mechanism
is different than the one in JAVA for instance.

>
> Are "there are a number of things the Fortran standard leaves
> unspecified that it should pin down"?

?

>
> Does Fortran allow one to declare a type such as
> type
> The_Resolution_For_Nanoteslas_Supported_By_My_Analog_To_Digital_Converter
> is delta 1.0 / 2.0**5 range - 256.0 .. + 256.0 - 1 .0 / 2.0**5;
> (that is in Ada syntax, but I am not worried about the syntax: the
> feature is important, not how it is expressed)?

Not exactly but you can ask for the minimum precision you want with
selected_int_kind or selected_real_kind

>
> Does Fortran guarantee what happens during overflow for signed and
> unsigned integers?

No

>
> Could Fortran 90 allocatables be left in an undefined state?

No. Either an allocatable is allocated or not.

>
> Does Lahey's implementation of TR 15581 contain a bug which leaks
> memory?

Never seen

>
> Do the Fortran standards require detection of only trivial errors?

Yes/No depending of what you call a trivial error

>
> Is an optional garbage collector buggy?

No need of garbage collector in F2003 if you allocate only allocatable
arrays.
Deallocation is automatic when the array (or the derived type variable
containing that array) becomes out of scope.

>
> In principle FORALL should be good, but Fortran implementations
> thereof seem to be bad. Is this due to a flaw in the definition of
> Fortran itself?

No. Only the implementation is responsible ! Personally, I don't use
the FORALL statement.

>
> Does Fortran allow one to use an undefined variable?

yes but nice compilers try to detect that at compile time and often
propose to initialize undefined variable to NaN (for instance) to
improve the detection at run time.
>
> Does Fortran allow a default value at the declaration of a variable?

Not a default value. Just an initial value !

But if you think about optional arguments, then a missing optional
argument cannot have an explicit default value in F95. Of course, it
is easy to solve the problem in the routine itself in using the
PRESENT intrinsic function.
>
> Yours sincerely,
> Colin Paul Gloster




  reply	other threads:[~2008-07-10 14:57 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-20  9:03 another way to shoot yourself in the foot? fedya_fedyakoff
2008-06-20  9:34 ` Dmitry A. Kazakov
2008-06-20  9:48   ` fedya_fedyakoff
2008-06-20 10:01     ` Ludovic Brenta
2008-06-20 10:05 ` christoph.grein
2008-06-20 10:26   ` Dmitry A. Kazakov
2008-06-20 16:12     ` Adam Beneschan
2008-06-20 15:48   ` Adam Beneschan
2008-06-20 19:27   ` Robert A Duff
2008-06-20 23:37     ` Jeffrey R. Carter
2008-06-21  8:56       ` Dmitry A. Kazakov
2008-06-22 20:44         ` Robert A Duff
2008-06-23  7:49           ` Dmitry A. Kazakov
2008-06-24  4:02             ` george.priv
2008-06-24  7:30               ` Dmitry A. Kazakov
2008-06-24 17:16                 ` Robert A Duff
2008-06-24 19:15                   ` Jeffrey R. Carter
2008-06-24 20:31                     ` Robert A Duff
2008-06-24 20:50                       ` Ludovic Brenta
2008-06-24 23:02                         ` Robert A Duff
2008-06-24 23:42                         ` Georg Bauhaus
2008-06-24 21:24                       ` Jeffrey R. Carter
2008-06-24 23:24                         ` Robert A Duff
2008-06-25 15:07                       ` Adam Beneschan
2008-06-24 14:59             ` Adam Beneschan
2008-06-24 16:41               ` Dmitry A. Kazakov
2008-06-24 17:20                 ` Robert A Duff
2008-06-24 17:52                   ` Dmitry A. Kazakov
2008-06-24 23:35                     ` Georg Bauhaus
2008-06-25  8:09                       ` Dmitry A. Kazakov
2008-06-25 10:32                         ` Georg Bauhaus
2008-06-25 12:06                           ` Dmitry A. Kazakov
2008-06-22 20:37       ` Robert A Duff
2008-06-22 21:25         ` Jeffrey R. Carter
2008-07-04 20:52           ` Colin Paul Gloster
2008-07-04 22:15             ` (see below)
2008-07-05 16:06               ` Colin Paul Gloster
2008-07-05 13:38             ` Gary Scott
2008-07-05 16:42               ` Colin Paul Gloster
2008-07-05 19:00                 ` Gary Scott
2008-07-09 19:39                   ` Colin Paul Gloster
2008-07-09 20:35                     ` Richard Maine
2008-07-09 22:49                       ` Terence
2008-07-10  1:07                         ` Gary Scott
2008-07-10 14:10                       ` Colin Paul Gloster
2008-07-10 14:57                         ` fj [this message]
2008-07-10 16:47                           ` Richard Maine
2008-07-10 17:03                         ` Dick Hendrickson
2008-07-10 17:26                           ` Craig Powers
2008-07-10 19:55                             ` James Giles
2008-07-10 20:45                               ` Dick Hendrickson
2008-07-10 21:22                                 ` Richard Maine
2008-07-10 21:29                                   ` Craig Powers
2008-07-10 20:45                               ` Craig Powers
2008-07-10 19:51                           ` James Giles
2008-07-11 15:02                             ` Colin Paul Gloster
replies disabled

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