|
From: | Robert Dewar |
Subject: | Re: changing "configure" to default to "gcc -g -O2 -fwrapv ..." |
Date: | Sun, 31 Dec 2006 09:27:21 -0500 |
User-agent: | Thunderbird 1.5.0.9 (Windows/20061207) |
Richard Kenner wrote:
And the idea that people were not used to thinking seriously about language semantics is very odd, this book was published in 1978, ten years after the algol-68 report, a year after the fortran77 standard, long after the COBOL 74 standard, and a year before the PL/1 standard. It's not that old!I knew you were going to say something like that, which is why I editedmy message to say "most people": yes, there were certainly groups (I specifically had Algol 68 in mind) who were thinking of programminglanguages in very formal terms, but those represented an even smaller minority of the community than now and certainly the Unix/C community's view at that point was much more pragmatic than formal: that's the point that a lot of people in this thread are making.
It was a MUCH bigger set than you think, remember that Algol-60 was widely used in Europe. ABsolutely every Algol-60 programmer read the A60 report, there is not one book on A60 that did not reprint the report as part of the book. Indeed it is the case that the eventual dominance of Fortran and C set things back, but not back as much as you think in terms of language definition. In fact K&R is much stronger than you think in terms of providing a precise definition of the language. Too bad people did not read it. As I said earlier in this thread, people seem to think that the standards committee invented something new here in making overflow undefined, but I don't think that's the case. I personally would have thought it more judicious to make it implementation defined, since I don't like undefined semantics anywhere in programming languages unless a hugely strong case can be made that providing or requiring a definition damages code (e.g. uninitialized variables have always been generally agreed to be in that class for C/Ada/Fortran level languages, but even there Ada 95 greatly reduced the damage that uninitialized variables can do, and introduced the notion of bounded error to replace many undefined (called erroneous) cases in Ada).
[Prev in Thread] | Current Thread | [Next in Thread] |