[Info-vax] Programming languages on VMS
Bill Gunshannon
bill.gunshannon at gmail.com
Thu Feb 1 17:49:11 EST 2018
On 02/01/2018 05:38 PM, seasoned_geek wrote:
> On Wednesday, January 31, 2018 at 9:20:50 PM UTC-6, Arne Vajhøj wrote:
>>>
>>> FORTRAN excels at processing disparate data sources. Pulling in files
>>> from IBM and other operating systems where the data must be binary
>>> because it is far too massive to be converted to XML.
>> Other languages reads binary files from different sources fine as
>> well.
>>
>> That is something most general purpose languages do fine.
>>
>> What is unique in Fortran?
>>
>
> Read chapter 10.
> http://www.theminimumyouneedtoknow.com/app_book.html
>
> or you could do HELP FORTRAN/CONVERT
>
> The /CONVERT qualifier and OPTIONS/CONVERT affect all unit numbers
> used by the program, while a logical name and OPEN (CONVERT=)
> affect specific unit numbers.
>
> The /CONVERT qualifier specifies a default data-conversion type for
> all logical units opened in the program unit, either explicitly by
> an OPEN statement or implicitly by a READ, WRITE or other I/O
> statement (with the exception of DEFINE FILE).
>
> For more information on using unformatted data files, using OpenVMS
> logical names to specify CONVERT options, and information about the
> ranges of the various data types, see the HP Fortran for OpenVMS
> User Manual.
>
> BIG_ENDIAN
> Specifies that numeric data in unformatted files is in big endian
> integer format (INTEGER declarations of the appropriate size) and
> IEEE floating-point format (REAL and COMPLEX declarations of the
> appropriate size).
>
> INTEGER(KIND=1) data is the same for little endian and big
> endian.
>
> CRAY
> Specifies that numeric data in unformatted files is in big endian
> integer format (INTEGER declarations of the appropriate size) and
> CRAY floating-point format (REAL and COMPLEX declarations of the
> appropriate size).
>
> FDX
> Specifies that numeric data in unformatted files is in little
> endian integer format (INTEGER declarations of the appropriate
> size). It also specifies VAX floating-point format
> F_floating (for size REAL(KIND=4) and COMPLEX(KIND=4)),
> D_floating (for size REAL(KIND=8) and COMPLEX(KIND=8)), and IEEE
> X_floating (for size REAL(KIND=16)).
>
> FGX
> Specifies that numeric data in unformatted files is in little
> endian integer format (INTEGER declarations of the appropriate
> size). It also specifies VAX floating-point format
> F_floating (for size REAL(KIND=4) and COMPLEX(KIND=4)) and
> G_floating (for size REAL(KIND=8) and COMPLEX(KIND=8)), and IEEE
> X_floating (for size REAL(KIND=16)).
>
> IBM
> Specifies that numeric data in unformatted files is in big endian
> integer format (INTEGER declarations of the appropriate size) and
> IBM System\370 floating-point format (REAL and COMPLEX
> declarations of the appropriate size).
>
> LITTLE_ENDIAN
> Specifies that numeric data in unformatted files is in little
> endian integer format (INTEGER declarations of the appropriate
> size) and IEEE IBM System\370 floating-point format (REAL and
> COMPLEX declarations of the appropriate size).
>
> INTEGER(KIND=1) data is the same for little endian and big
> endian.
>
> NATIVE
> Specifies that numeric data in unformatted files is determined by
> the floating-point format representation in memory, which is
> specified using the /FLOAT qualifier. If you omit the /FLOAT
> qualifier and specify the obsolete /[NO]G_FLOATING qualifier, the
> format specified by the /[NO]G_FLOATING qualifier is used.
>
> This is the default.
>
> VAXD
> Specifies that numeric data in unformatted files is in little
> endian integer format (INTEGER declarations of the appropriate
> size). It also specifies HP VAX floating-point format
> F_floating (for size REAL(KIND=4) and COMPLEX(KIND=4)) and
> D_floating (for size REAL(KIND=8) and COMPLEX(KIND=8)), and
> H_floating (for size REAL(KIND=16)).
>
> VAXG
> Specifies that numeric data in unformatted files is in little
> endian integer format (INTEGER declarations of the appropriate
> size). It also specifies HP VAX floating-point format
> F_floating (for size REAL(KIND=4) and COMPLEX(KIND=4)) and
> G_floating (for size REAL(KIND=8) and COMPLEX(KIND=8)), and
> H_floating (for size REAL(KIND=16)).
>
> and that is just scratching the surface.
>
And none of that is Fortran. They are DEC accretions to the language.
Exactly the kind of things that made portable languages non-portable.
bill
More information about the Info-vax
mailing list