apropos of language wars wsa Re: [Beowulf] Which is better

Jim Lux James.P.Lux at jpl.nasa.gov
Wed Jan 21 17:31:13 EST 2004

At 11:46 AM 1/21/2004 -0500, Robert G. Brown wrote:
< a whole pile of stuff in response to Jakob's whole pile of stuff, all 
quite interesting, but irrelevant to my comments inserted below>
 > So, any language that provides easy direct access to those C APIs have a
> > chance of being "the one true language".
>You miss my point entirely.  The argument is that C is a thin veneer on
>top of assembler -- so thin that one CAN write an operating system in
>it.  Imagine writing an operating system in LISP.  Wait, don't do that.
>The results are too horrible to imagine.  Imagine doing it on top of
>fortran, instead.  That's bad, but you won't have nightmares for more
>than a week or two afterwards. (IIRC, somebody actually did this once.)

I should imagine that more than one person has written what amounts to an 
operating system (or, at least the kernel, meaning file system and 
scheduler/task management) in FORTRAN or other less than ideal 
languages.  Certainly I have done both (although, thankfully, not in the 
same system!..).. (Gosh, I had to write a good part of an OS in MIXAL as an 
assignment in college, something I wouldn't wish on an enemy)

Many, many laboratory/instrument control kinds of applications have been 
written in Basic or FORTRAN, and they tend to have all the sorts of things 
one expects in a scheduler (variable rate events, threads, timed execution, 
priorities, etc.), although, granted, with a somewhat adhoc arrangement of 
interfaces and so forth (and with varying degrees of independent contexts 
(ah, the memories of using Blank COMMON, and implementing linked lists and 
heaps in FORTRAN arrays).  You use what's available.  Some of the low level 
BASIC's out there for microcontrollers like the BASICStamp are quite close 
to a "formatted assembler".

I'd also point you to ESPOL, which was the native language of Burroughs 
mainframes in the 70's. The OS (Master Control Program, MCP, in my 
recollection) was written in (only) ESPOL. It's a variant of Algol, uses 
polish notation for arithmetic, etc.  There was no "assembler" per se for 
these machines (although, there must have been some binary equivalent for 
the ESPOL statements. In any case, the machine was designed to be 
programmed in high level languages, and didn't leave such essential things 
like array bounds checking, linked list manipuation, or memory allocation 
to some hacker flinging out assembler in a library. Nope, it's in the CPU 
as a native opcode.

James Lux, P.E.
Spacecraft Telecommunications Section
Jet Propulsion Laboratory, Mail Stop 161-213
4800 Oak Grove Drive
Pasadena CA 91109
tel: (818)354-2075
fax: (818)393-6875

Beowulf mailing list, Beowulf at beowulf.org
To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf

More information about the Beowulf mailing list