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