Beautiful paean to C Bob:-)
I'd just add that some languages, I think Ada and COBOL, are designed in
part to minimize certain classes of programmer errrors. Those languages are
sorta like the safety codes for wiring public places; they prevent the worst
errors, but do not necessarily well enable the Inner Artist.
Most real-time embedded programming is in C, but in lots of applications you
sacrifice efficiency for safety, like weekly payroll accounting.
Peter


On 3/19/07, Robert G. Brown <[EMAIL PROTECTED]> wrote:

On Mon, 19 Mar 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).

C for damn sure isn't "safe".  Neither is assembler.  Very few compilers
could be called safe in the sense that it is impossible to write buggy
code that is vulnerable to various exploits or at risk of crashing an
application, but C is arguably more dangerous than most because with
pointers and inlined assembler you can do "anything".

Total power and complete control is never safe.  C is like an M-1 tank
armed with pocket nukes and with a built in levitation system and
antimatter propulsion system -- misuse it and you can blow up whole
worlds, but it can solve lots of problems very quickly.  Safe is a kiddy
bike with training wheels -- not fast, not powerful, but if you pedal
long enough you can get where you want to go.

Unless you get run over by a tank, that is.

> 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?

Absolutely.  With great power comes great responsibility.  Neurosurgery
is not safe.  Consequently Neurosurgeons require immense amounts of
training and have to work extremely carefully -- and people still die.
However, far more of them live!  Putting band-aids on is safe.  However,
try putting a band-aid on a brain tumor.

> I'm wondering what languages are actually used when developing critical
> systems (such as aviation and missile control systems?).
>
> My uni's LAN is protected but I found a similar lecture series at
another uni
> on the net.  See page 25 on:
>
https://www.cis.strath.ac.uk/teaching/ug/classes/52.422/programming_languages.pdf
>
> Full lecture series:
> https://www.cis.strath.ac.uk/teaching/ug/classes/52.422/

Got me.  Whatever it is, it is perfectly capable of being buggy.  And
whatever it is, the compiler itself was very, very likely written in --
C.

    rgb

>
> Regards,
> Mitchell
>
>
>

--
Robert G. Brown                        http://www.phy.duke.edu/~rgb/
Duke University Dept. of Physics, Box 90305
Durham, N.C. 27708-0305
Phone: 1-919-660-2567  Fax: 919-660-2525     email:[EMAIL PROTECTED]


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

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

Reply via email to