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
_______________________________________________
Beowulf mailing list, Beowulf@beowulf.org
To change your subscription (digest mode or unsubscribe) visit
http://www.beowulf.org/mailman/listinfo/beowulf