Path: utzoo!utgpu!news-server.csri.toronto.edu!clyde.concordia.ca!uunet!zephyr.ens.tek.com!tektronix!nosun!qiclab!m2xenix!puddle!p0.f4.n494.z5.fidonet.org!cspw.rures From: cspw.rures@p0.f4.n494.z5.fidonet.org (cspw rures) Newsgroups: comp.lang.c Subject: ADA/C Flame wars Message-ID: <3010.260C8D7E@puddle.fidonet.org> Date: 25 Mar 90 18:03:46 GMT Sender: ufgate@puddle.fidonet.org (newsout1.26) Organization: FidoNet node 5:494/4.0 - Settler City Fido, Grahamstown RSA Lines: 58 I can't resist adding to the sterile ADA/C flame war. Neither of the languages can guarantee even the most fundamental algebraic properties about their expressions: e.g. that f(x) + f(x) is always the same as 2 * f(x) and that f(x) + g(x) is always the same as g(x) + f(x). Imperative languages (any that permit re-assignment/side-effects into memory locations in a time-dependant way) are inherently "unsafe" and difficult to reason about formally. The C community (a huge generalization!) recognize that the style of computation is useful and fun in spite of (because of?) this feature. They suffer no gradiose illusions about the language per se providing security and reliability, and recognize that programs do not have to be perfect to be useful. (I think it was Plauger's Programming Pearls that describes a programming community were using a fairly slow type-setting package with about 10 known bugs. Asked the question "If you had a choice of fixing these bugs or doubling the speed of the package, which would you chooose", the respondents inevitably chose the latter.) By contrast, the ADA community (and some others) seem to be suggesting that mere surface changes in the language will somehow fix deep underlying semantic problems. I can only see this as a blatant attempt to mislead the fund givers and managers (those who wear their suits and browse the manual pages, you know, and are 'put off' by the flippant realism that they find). It is obvious that each language may have a niche, and that the questions above may have got different answers if the sofware was a missile guidance system. What seems strange is that the C community seem to recognize both sides of the coin, and generally accept that some guys in some large-scale or sensitive software systems need ADA. The converse does not seem true: the C community comes under vitriolic attacks for writing useful software with a damn good price/performance ratio. Variable-based programming is inherently tricky. Telling us that ADA will solve our problems is like suggesting that we wear earmuffs while playing Russian Roulette, so that the noise won't hurt our ears. By all means use the earmuffs, but stop trying to tell us that this makes the game safe! Pete Wentworth -- uucp: uunet!m2xenix!puddle!5!494!4.0!cspw.rures Internet: cspw.rures@p0.f4.n494.z5.fidonet.org