[mod.computers.vax] Fortran follies

jmleonar@CRDC.ARPA.UUCP (07/07/86)

From: "Keith F. Lynch" <KFL%MX.LCS.MIT.EDU@MC.LCS.MIT.EDU>
Subject: VMS Fortran
To: bogstad@HOPKINS-EECS-BRAVO.ARPA
cc: KFL%MX.LCS.MIT.EDU@MC.LCS.MIT.EDU, INFO-VAX@SRI-KL.ARPA
Message-ID: <[MX.LCS.MIT.EDU].931527.860706.KFL>

    From:     "William J. Bogstad" <bogstad@hopkins-eecs-bravo.ARPA>

            Unfortunately that was the only time in my use of VMS that
    I had to "escape" from the confines of the Fortran 77 standard and
    I am left without another good example to support my opinion.

There are many examples.  When I was working heavily with VMS, every
time I needed to do something more sophisticated than a Farenheit to
Celcius conversion I would have to talk to a Wizard, who would tell me
all about how to use SYS$QIOW and MTH$KLUDGE and all about how you need
pointers to pointers to H format quadwords.  When I asked why it was so
complicated and so unFortranish I was told it was my own fault for not
using Assembler.

  For instance:

1) Trying to do one character keyboard input.

2) Trying to read a file with a ^Z in it.

3) Trying to do DCL commands from within my program.

4) Trying to send a message to other terminals.

5) Doing anything with the clock.

6) Setting or reading file protections.

I now mostly use PC-DOS and find it much more usable than VMS.

--------------------------------------------------------------------

I don't really see the point here - all of these activities are
very "unFortranish", and totally dependent on the system/Fortran
interface (and the operating system features to some degree).  True,
#2 is only a problem when ^Z in the EOF character, but I have this problem
on a CP/M machine (remember them? :-)).

I think that DEC with their VMS Fortran have included many features that
go beyond the F77 standard, so much so that converting code from the VAX
to an IBM system takes a bit of work to remove all of the added structure
that DEC permits.  If these "features" are a day-to-day requirement, 
perhaps it would be best to change from Fortran to C, which was designed
to have a more intimate interface with its host o/s.

Remember, Fortran was designed to crunch numbers (which is why it
doesn't appeal to the C/S folks), and the addition of structure and
the like has been an effort to include the features that have been
shown to be really useful over the years.  In my field - Computational
Chemistry and Molecular Graphics, the amount of code that is written
in Fortran, and the positive advantages Fortran presents for number
crunching make it a necessity.  Still, C is a better choice for
the bit-twiddling, y'know...

Do I smell kerosene around my keys???

                                                Joe Leonard
                                            <jmleonar@crdc.arpa>

Disclaimer: The opinions of my employer have nothing to do with those
            that I hold so dear...