Re: Other issues with the FAQ
From: Allin Cottrell (cottrell_at_wfu.edu)
Date: 07/17/04
- Next message: Jack Klein: "Re: communicating through callback"
- Previous message: Steve Summit: "Re: the target audience of this list"
- In reply to: Dan Pop: "Re: Other issues with the FAQ"
- Next in thread: Mark McIntyre: "Re: Other issues with the FAQ"
- Reply: Mark McIntyre: "Re: Other issues with the FAQ"
- Reply: Steve Summit: "Re: C99 and portability (was: Other issues with the FAQ)"
- Reply: Dan Pop: "Re: Other issues with the FAQ"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Sat, 17 Jul 2004 00:23:18 -0400
Dan Pop wrote:
> I was merely objecting to the claims and implications that C99 is or
> should be the *default* standard covered by the FAQ. It isn't and Steve
> shows no signs of intending to change the FAQ in this direction. So,
> Steve's FAQ is good enough for me.
[snip]
> What I would object about is giving extensive coverage to the C99 standard
> in the FAQ, as suggested by Jacob. But this is not the case now, so I
> have no reason to object. Having seen how Steve managed the transition
> from K&R C to ANSI C, I am confident that he will do a good job with
> the transition to C99, *when* and *if* this transition happens. Right now
> for anyone interested in portable C programming, C99 issues are purely
> academic.
This is an important matter for clc, very important. I'd hope we can
discuss it in a civil manner. (I agree with the substance of Dan's
comments but dislike the you're-an-idiot-if-you-don't-agree-with-me
tone.)
As a group, we discuss "standard" C, and are quick to point out the
advantages in portability and maintainability of programming in
"standard" C to the greatest possible extent (using platform-specific
extensions when necessary, but only when necessary).
But what is the C standard? There is no question, officially it is
C99 (as Jacob Navia has said upthread). Yet, as Dan has stated, if
you program to the C99 standard, to the extent your code departs from
C90 its portability is practically nil. People who have written
"niche" compilers that conform to C99 need to recognize this point
clearly. It's no good saying, "Well my compiler does C99 so why
are you dragging your feet?", since at least 99 percent of the C
programming world (at my rough estimate) is using either Microsoft's
C compiler or gcc, neither of which is C99-conforming and neither
of which seems to be in any hurry to achieve that status.
In a practical sense, then, the standard to which we appeal in
clc is the "obsolete" C90. This is not a happy situation, but it
is not of our choosing. Whether or not it was visible ahead of
time, we can see with hindsight that the C standards body made a
big mistake in promulgating C99: this action has in fact undermined
via ambiguity the case for "standard C".
Clc has to find a way to live with this undesirable situation.
Upthread, the FAQ has been discussed. If you're reading this, Steve,
I'd say that one important update to the FAQ is some sort of
comment for the new programmer in C about this very issue: the
conflict between
* a standard that is official, but in effect unimplemented, and
* a standard that is officially obsolete but that in effect
defines the limits of portable C.
Good luck in phrasing it!
Allin Cottrell
Wake Forest University
- Next message: Jack Klein: "Re: communicating through callback"
- Previous message: Steve Summit: "Re: the target audience of this list"
- In reply to: Dan Pop: "Re: Other issues with the FAQ"
- Next in thread: Mark McIntyre: "Re: Other issues with the FAQ"
- Reply: Mark McIntyre: "Re: Other issues with the FAQ"
- Reply: Steve Summit: "Re: C99 and portability (was: Other issues with the FAQ)"
- Reply: Dan Pop: "Re: Other issues with the FAQ"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|