Jeff P. Bailey said:
Dear everyone
I've been lurking in this group for a few weeks now. Originally I had a
question to ask (about atomic/threadsafe operations in C), and I wanted
to get the feel of the newsgroup first. In fact I've got to know it well
enough that I realize there's no point in even asking my question, which
would be vilified as "off topic".
Hello all,
Let me contextualize my message. I've been actively asking questions
in clc for some years from 99 onwards. I've been away for some time
but now I've been following the group for the last 2/3 weeks. Yes, the
group might have problems, in fact probably more than it had before
but I don't see why people not replying to you about threads is a
problem at all. I do remember when I started posting to receive
replies such as "read the FAQ", or "that's off-topic", or "the C
standard knows nothing about displays". And you know what? I resorted
to unix programming, threads programming and such other newsgroups
which can actively help about those topics and learned the difference
about what C really is. In fact, I started resorting to K&R2 to know
if my C question might resemble some problem in the book before
posting.
"hummf, I have a question about threads... K&R2 says nothing about
threads. Better not post it in c.l.c. then."
From what I have observed, this group has big problems. There are some
positive posters here (I'd especially like to thank jacob navia for his
very interesting and useful long posts on stacks and debuggers), but
there seem to be many many more people here who post only to be
negative.
I don't know Jacob Navia but I would suggest the best path for Jacob
these days would be to have a blog. Posts on stacks and debuggers
would definitely be worth the reading through a RSS feed. I would then
use that knowledge to actively help those with their C
questions. There's no need, and no excuse to post questions unrelated
to the C language here, no matter how good they are. Saying this, let
me say I do think they Navia's articles are quite nice but would be
much better fitted into a blog. Not only due to the fact that posting
that here is off-topic but also because I could easily reach them
whenever I can, and even send the link to my g/f which is learning C
at the university and would definitely benefit from it.
The main example seems to be Richard Heathfield - I don't know what the
history of it is, but he obviously has a deep personal hatred of jacob
navia, and this dominates his posting. Most of his insults are pretty
puerile, but this constant negativity really seems to bring down the
atmosphere.
I need to say I am impressed to see you say that about Richard. I do
remember Richard Heathfield but in a slight different way. I remember
Richard Heathfield, Dann Corbit, Ben Pfaff, among others, actively
replying to my questions as a C student when I was actively posting
them. I might add that they were the reason why I was able to learn C
and enjoy C as much as I do these days. I remember to get a copy from
the US [when getting books from the US to Portugal was quite
expensive] as soon as "C Unleashed" came out and have loads of fun
while reading it. Damn, I still use it. If Richard did anything to the
community, it was surely not harmful.
I need to digress into talking about C99. I've been away these last
few years from USENET but I didn't expect that C99 had such a negative
impact. I use C mainly to implement SATisfiability solvers, which are very
processor intensive and every CPU cycle is indeed important. I use it
because is a very simple language, which I can easily tweak and where
I can understand what's happening deep down in it's translation to
machine code. Let me say I also use Scheme
regularly and I wouldn't dare to try to implement a state of the art
SAT solver in it because since it is too high-level leaves me
uncertain about the amount of machine code generated for a simple
expression. C is inherently a low level language and it should stay
that way. However, I regularly compile my code with -std=c99 [gcc option].
- 'Anywhere' variable declarations
for(int i = 0; i < 10; ++i) { ... }
are in my opinion extremely useful and make the code much more
readable (in fact, this is perhaps the only time I resort to them).
- // comments
help me document my code with simple line without the issue of
forgetting a missing */...
I guess these are in fact, the things I use the most from C99. The
other stuff might be useful to others. I even inquired the gcc people
why C99 is so poorly [in ~10 years they still miss a couple of
features] implemented. Their reply was ... interesting but
not as clear as one would wish:
http://gcc.gnu.org/ml/gcc-help/2008-03/msg00221.html
For those really pissed off with C99 and worried with the next one (is
there already any information about it or nobody knows what's coming?)
I would thing the best way out would be:
- Define a core C and an extended C (as someone already pointed out);
- Diverge from the standard C and define a de-facto standard like the
Scheme language did many years ago (IEEE has a published standard,
however, the community uses the RnRS, for n = 6 right now).
Anyway, I still think C is a VERY important language, for educational
and research purposes (not sure company-wise) and it should stay
on-track. I think adding heavy features like operator overloading (I
have heard someone talk about this recently)
might take the edge it has on other languages for being low-level. If
I wanted something high level I would go for C++ and Scheme (ordered
from the lowest to the highest level I can go).
I hope to keep track of the posts in c.l.c. and let's just enjoy
ourselves.
Have fun,