[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