[Info-vax] Learning VMS application programming

David Froble davef at tsoft-inc.com
Sun Sep 7 11:57:18 EDT 2014


Phillip Helbig---undress to reply wrote:
> In article <luhrdv$pf4$1 at dont-email.me>, Stephen Hoffman
> <seaohveh at hoffmanlabs.invalid> writes: 
> 
>>>>>>>> I never saw Fortran used for systems programming before.
>>>>>>> Fortran is not used for system programming on VMS.   It's an 
>>>>>>> application-programming language.
>>>>>>>
>>>>>>> C, Bliss and Macro32 assembler are most commonly used for system-level 
>>>>>>> programming on VMS.
>>>>> I'm using "system programming" to refer to "operating system 
>>>>> programming", as differentiated from application systems.  That is, I'm 
>>>>>  referring to the languages used for OpenVMS device drivers, 
>>>>> kernel-mode code, and related programs.
>>> While that might be the case,
>> Might?  No.  I can say with certainty that I was referring to 
>> inner-mode programming when I was using the phrase "system 
>> programming".  No "might" needed there.
> 
> Sorry, I meant "might be the case" in reference to "I never saw Fortran 
> used for systems programming before".  (Also, "might be the case" 
> essentially means "while that is the case" in this context.)
>  
>> But then this smells rather like the classic "technically feasible" 
>> versus "prudent investment of time and effort and budget" discussion 
>> trap, too.   Sure, inner-mode Fortran is technically feasible.  But who 
>> would use it, how much would they pay for this, and why don't we 
>> implement kernel-mode COBOL while we're at it?   Does VSI have other 
>> work that'll be higher on the schedule?
> 
> I just wanted to suggest that it was an implementation choice, and not 
> due to some deficiency in Fortran itself (as far as I know).
> 

I would not call it a "deficiency", but, the RTLs for most of the 
languages can and at times do things that you really would not want to 
happen while executing in an "inner mode".

The compilers call the LIB$... and such library routines.  These are 
intended for user mode only.

Just because you write code to perform some task, it's the compiler that 
decides how to perform that task.

As Steve mentioned, DEC had to revise or replace the C-RTL to make the 
routines safe for inner mode code.  Just too bad they chose to do this 
with C, and not some other language(s).

Or, if that was too obscure, "your Fortran RTL contains routines that 
should not be used in inner mode(s)" ....

It's not the language, it is the "implementation" of the language.

:-)



More information about the Info-vax mailing list