Purely historic question: VT200 text graphic programming

GrayShark howe.steven at gmail.com
Fri Mar 11 11:28:12 EST 2011


On Fri, 11 Mar 2011 15:58:20 +0000, Grant Edwards wrote:

> On 2011-03-11, Anssi Saari <as at sci.fi> wrote:
>> Grant Edwards <invalid at invalid.invalid> writes:
>>
>>> C wasn't very widely used under VMS, and VMS had it's own screen
>>> formatting and form handling libraries.
>>
>> Just curious, what language was widely used in VMS?
> 
> From what I remember, FORTRAN what probably the most popular.  Pascal
> was also well supported and somewhat widely used (especially in
> academia).  Then there was BLISS-32 for the low-level stuff.  C seemed
> to be an afterthought and had a very "kludged" feel to it.  VMS's file
> I/O didn't correspond very will with the C byte stream model, and C's
> view of line-termination didn't play well with everything else.
> 
>> My VMS experience is limited to running Maple for a math course in the
>> university in early 1990s. Didn't know how to do much more than start
>> Maple, probably just dir, logout (or was it logoff?) and ftp :)

I don't remember much of any language being that portable. I do remember 
it was very easy to take DEC Fortran and compile it without much issue on 
SGI/Irix. Much more scary was a program converted to C from Fortran (there 
were precompiler for that) ran slow on Irix then straight Fortran. 

That was godsend for simulation engineers.

I agree, VAX/VMS's i/o model was slow in C. In fortran it was fast as they 
did all the opens when the program started, regardless of where the open 
statement was in the code. I even had a legacy program, open and close a 
file in a subroutine (a no no) that ran fast; debugging code. DEC fortran 
only opened the file once. Had some way of deciding if a write was an 
overwrite or an append. The program ran fast as 'normal' (that being 
without the open and close).

When I ported the program to an Moto 88000 daughter processor board, the 
program ran slow as hell. The 88000 board used a Fortran->C compiler, that 
obeyed the open and close statements. Each time the program ran that 
subroutine, It opened, then closed a log file. Each statement required the 
daughter board to call, via the q-bus, the host OS (VMS), stop, wait for 
VMS to open a file, continue, then stop, wait for VMS to close the file.

The correction was easy, get rid of the legacy debug code. The coder had 
never used the debugger program or a profiler; amazing! Well after both, 
debugging code removed and a run through a profile, the code ran fast as 
hell. 20 sims in the time the microvax III did one. That was probably the 
only reason we didn't move off VAX/VMS (that and old programmer inertia).

Inertia, friend and foe.

Otherwise I worked with a host of government contractors, each with their 
own version of C; each used their specialized version to prevent tax payer 
contracts from going to another contractor.

Thank goodness for standardization. Finally the DOD could drop CSC or EDS 
over priced contracts to maintain code. Unfortunately, could, should and 
did don't have the same meaning at the end of the day.

GrayShark.



More information about the Python-list mailing list