R
Richard Heathfield
[Discussions of topicality are always topical. Nothing in this article
should be construed as suggesting otherwise - where I say something like
"only <foo> is topical here", this should be read as if it said "only
<foo> and topicality discussions are topical here"!]
One of the (several) bugbears that haunts this group is the issue of
topicality. There appear to be several topicality camps within clc at the
moment, which I'll attempt to categorise as neutrally as I can manage.
I'll assign a name and a letter to each group in an attempt to make it
easier for us all to discuss the various camps.
Group P (Purists): only code that can be written entirely in K&R C, C90, or
C99 is topical here; where functions or symbols that are not defined by
the Standard are mentioned, the source code should be available, at least
in principle, and that source code should be written entirely in one of
the above "standard dialects". Citations from K&R, from either of the
ISO/IEC 9899 documents, or from drafts are all acceptable.
Group N (Neopurists): only code that can be written entirely in the latest
version of C is topical here; where functions or symbols that are not
defined by the Standard are mentioned, the source code should be
available, at least in principle, and that source code should be written
entirely in C99. Drafts of the Standard don't count, and any citation from
a draft is off-topic.
Group C (Conservatives): whilst the principal focus should be on standard
C, discussions of particular implementations and extensions for
illustrative purposes are acceptable.
Group M (Moderates): As well as standard C, common extensions should be
considered topical (e.g. those that are common in Windows (GUI and
console) and in Unix-a-likes).
Group X (eXperimentalists): These folks would like discussions of possible
changes and enhancements to the language to be considered topical.
Group L (Liberals): Anything written in a vaguely C-like syntax or in a
language based on C is topical (including C++, Objective-C, Java, and C#).
Group A (Anarchists): Anything and everything is topical, including device
drivers, Shrek, CD marker pens, jokes about viola players, and the
Metropolitan District of South Humberside.
At present, the majority of regular contributors fall into group P, or so
it seems to me, but all the other groups are represented here to a greater
or lesser degree.
Some fall into more than one camp - for example, at least one person (who
will remain nameless!) appears to be both a Neopurist and a Liberal (or
possibly a Moderate), despite the apparent contradiction between these
positions.
When deciding what is topical and what is not, we should remember that
comp.lang.c is *not* the only newsgroup in town. There are newsgroups for
discussing the language definition, POSIX, Windows, and individual
implementations. On the other hand, it cannot be denied that some people
gravitate towards comp.lang.c even though their discussion subject bears
little or no relation to standard C. Should we be sending these folks on,
or should we be answering their questions here?
I have carefully refrained from putting forward my own opinion, partly
because I should imagine that just about everyone who reads this already
knows what it is, and partly because I don't want this thread to get
bogged down until people have had a chance to think about the issues for
themselves.
Any topicality stance is bound to have advantages *and* disadvantages. So
please think carefully before weighing in too heavily in favour of a
particular stance!
Thanks. Over to you.
should be construed as suggesting otherwise - where I say something like
"only <foo> is topical here", this should be read as if it said "only
<foo> and topicality discussions are topical here"!]
One of the (several) bugbears that haunts this group is the issue of
topicality. There appear to be several topicality camps within clc at the
moment, which I'll attempt to categorise as neutrally as I can manage.
I'll assign a name and a letter to each group in an attempt to make it
easier for us all to discuss the various camps.
Group P (Purists): only code that can be written entirely in K&R C, C90, or
C99 is topical here; where functions or symbols that are not defined by
the Standard are mentioned, the source code should be available, at least
in principle, and that source code should be written entirely in one of
the above "standard dialects". Citations from K&R, from either of the
ISO/IEC 9899 documents, or from drafts are all acceptable.
Group N (Neopurists): only code that can be written entirely in the latest
version of C is topical here; where functions or symbols that are not
defined by the Standard are mentioned, the source code should be
available, at least in principle, and that source code should be written
entirely in C99. Drafts of the Standard don't count, and any citation from
a draft is off-topic.
Group C (Conservatives): whilst the principal focus should be on standard
C, discussions of particular implementations and extensions for
illustrative purposes are acceptable.
Group M (Moderates): As well as standard C, common extensions should be
considered topical (e.g. those that are common in Windows (GUI and
console) and in Unix-a-likes).
Group X (eXperimentalists): These folks would like discussions of possible
changes and enhancements to the language to be considered topical.
Group L (Liberals): Anything written in a vaguely C-like syntax or in a
language based on C is topical (including C++, Objective-C, Java, and C#).
Group A (Anarchists): Anything and everything is topical, including device
drivers, Shrek, CD marker pens, jokes about viola players, and the
Metropolitan District of South Humberside.
At present, the majority of regular contributors fall into group P, or so
it seems to me, but all the other groups are represented here to a greater
or lesser degree.
Some fall into more than one camp - for example, at least one person (who
will remain nameless!) appears to be both a Neopurist and a Liberal (or
possibly a Moderate), despite the apparent contradiction between these
positions.
When deciding what is topical and what is not, we should remember that
comp.lang.c is *not* the only newsgroup in town. There are newsgroups for
discussing the language definition, POSIX, Windows, and individual
implementations. On the other hand, it cannot be denied that some people
gravitate towards comp.lang.c even though their discussion subject bears
little or no relation to standard C. Should we be sending these folks on,
or should we be answering their questions here?
I have carefully refrained from putting forward my own opinion, partly
because I should imagine that just about everyone who reads this already
knows what it is, and partly because I don't want this thread to get
bogged down until people have had a chance to think about the issues for
themselves.
Any topicality stance is bound to have advantages *and* disadvantages. So
please think carefully before weighing in too heavily in favour of a
particular stance!
Thanks. Over to you.