Re: Other issues with the FAQ

From: Allin Cottrell (cottrell_at_wfu.edu)
Date: 07/17/04


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



Relevant Pages

  • Re: Other issues with the FAQ
    ... Only the standard itself does that. ... though the C99 standard does. ... >> NOT the C99 FAQ. ... Why would be Steve any different? ...
    (comp.lang.c)
  • Re: Need to Improve my skill set in C
    ... > Iam keen interested to improve my skills in c programming. ... the comp.lang.c newsgroup has a FAQ. ... ISO/ANSI have a standard publication on C. ...
    (comp.lang.c)
  • Re: Is Chris Hills a troll?
    ... C90 is widely implemented, and widely used. ... So, de jure, you're right - ISO C99 is ignored by ... TC1+TC2 which is way that is the target standard for MISRA-C ... I'm just looking pragmatically at the world of C programming. ...
    (comp.lang.c)
  • Re: Event handling?
    ... Sean wrote: ... Standard C++ does not have any facilities for true event-driven ... programming. ... a.c.l.l.c-c++ FAQ: http://www.comeaucomputing.com/learn/faq ...
    (alt.comp.lang.learn.c-cpp)
  • Re: How was Windows made ?
    ... only the standard C programming language, ... netiquette before posting to any of these newsgroups. ... you should read the group's charter and FAQ, ...
    (comp.lang.c)