[Beowulf] A start in Parallel Programming?

Jim Lux James.P.Lux at jpl.nasa.gov
Mon Mar 19 09:16:31 PDT 2007


At 08:05 AM 3/19/2007, Mitchell Wisidagamage wrote:
>>   a) Learn C.  No matter what you do, if you plan to be a "real coder"
>>you will sooner or later need to learn C.  Sane people don't write
>>operating systems in Fortran or C++ or Lisp, and there are damn good
>>reasons for this.  Also you can do amazing things with C and actually
>>understand what the computer is doing when you do them (because C has
>>been described on this very list as "a thin veneer of upper-level
>>language sensibility on top of raw assembler", a phrase that I just love
>>that is SO true even though I can't remember who actually said it.  I
>>wish it were me but it wasn't:-).  Who knows what LISP is actually doing
>>and how it is doing it? Not even the developers...
>
>I'm a c fan myself. However when I was doing the "safety-critical 
>systems" module I was deeply disappointed to learn that c isn't 
>"safe" and sometimes "not recommended" (by IEC 1508 when developing 
>safety critical systems).
>
>I can understand why c is considered naughty but isn't it bad 
>programming (systems development) to blame rather than the 
>flexibility of the language?
>
>I'm wondering what languages are actually used when developing 
>critical systems (such as aviation and missile control systems?).

Assembler
C
HAL/S

Languages are like chainsaws.. you can cut a lot of wood very fast, 
but you have to be careful.

Safety is achieved through a combination of rigorous review, testing, 
and hardware to prevent big oopsies.

You might be interested in reading Nancy Leveson's work.  She's done 
a lot of research into safe software.  She has a fascinating paper 
comparing software today to high pressure steam a couple hundred 
years ago.  Both provided significant economic value, but the 
behavior is not well understood.  http://sunnyday.mit.edu/

Read the paper on High pressure steam and the one on Therac 25.


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





More information about the Beowulf mailing list