Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Richard HeathField. Bad ideas!

98 views
Skip to first unread message

"\"Paul\" <paulcr"<nospambots@theplanet.net>@noplacespecial.fsworld.co.uk

unread,
Dec 1, 2002, 5:34:41 PM12/1/02
to
Hiya group,
I have a been having a debate with this guy Richard HeathField about C
programming language.
I would like to explain my position here. I am programmer with
approximately 22 years experience and I have diversed during this period to
learn many different languages. I decided to try and learn more about C as
this is a language I have never really learned yet, so I subscribed to the
alt.comp.lang.learn.c-c++ newsgroup.
This guy 'Richard Heathfield' however and a few others seem to be
dictating nonsense about the ISO standards etc and sending out the
impression that C is very restricted. For Example: There have been posts
made asking for help on basic things like simple keyboard input routines
which are quickly dismissed to be impossible to do with compliant code.
These people who seem to have the misinterpreted the standards and who
believe they are in place to hinder us have certainly got their ideas very
much wrong.
The standards are on our side and there to help us. I trust most can see
why.
If the standards in some way do restrict the C language, I would suggest
that it be more usefull to correct the standards, than to correct the C
language in such a manner to make it less portable.
Who does this guy think he is?
And I have also noted he has tried to copy and enlighten on, the much
respected, Kernighan & Ritchies works.
Again who does this guy think he is?
I find utterly annoying that this person has had a book published entitled
'C Unleashed'. This title implying that the book will teach a programmer to
write 'go anywhere code'. This persons interpretations of the standards
would infact be more restrictive. How can anyone assume the content of this
book is anything more than shredder food when the author cannot even
understand the simple oxymoron 'portable restriction'?
TY
--
comp.lang.c.moderated - moderation address: cl...@plethora.net

Douglas A. Gwyn

unread,
Dec 2, 2002, 12:18:16 AM12/2/02
to
\"Paul\"

> For Example: There have been posts
> made asking for help on basic things like simple keyboard input routines
> which are quickly dismissed to be impossible to do with compliant code.

It is true that testing for or inputting a single character from
a keyboard cannot be done with strictly conforming (maximally
portable) code. Different operating systems have different
facilities for this, and some platforms have no keyboards at all.

> If the standards in some way do restrict the C language, ...

You're misunderstanding the main purpose of the standard,
namely to specify just what a programmer can reasonably
expect to be provided by *every* (conforming) C implementation.
There are only two "levels", hosted and freestanding; the
freestanding environment is essentially for embedded systems.
The standard specification for hosted environments has only
a limited I/O model, oriented toward line-oriented text
records and buffered binary access, which is the most that
could feasibly be implemented with a simple, portable API
based on the original Unix C stdio model (pretty much
the de facto standard before the official one took form).

You should listen to Richard rather than arguing with him.

Daniel Pfeffer

unread,
Dec 2, 2002, 9:14:18 PM12/2/02
to
""Paul" <paulcr @noplacespecial.fsworld.co.uk" <nospa...@theplanet.net>
wrote in message news:clcm-2002...@plethora.net...

> Hiya group,
> I have a been having a debate with this guy Richard HeathField about C
> programming language.
> I would like to explain my position here. I am programmer with
> approximately 22 years experience and I have diversed during this period
to
> learn many different languages. I decided to try and learn more about C as
> this is a language I have never really learned yet, so I subscribed to the
> alt.comp.lang.learn.c-c++ newsgroup.
> This guy 'Richard Heathfield' however and a few others seem to be
> dictating nonsense about the ISO standards etc and sending out the
> impression that C is very restricted. For Example: There have been posts
> made asking for help on basic things like simple keyboard input routines
> which are quickly dismissed to be impossible to do with compliant code.

You seem to have mis-interpreted the C Standard, yourself. The C Standard
does not mandate that every C development system (compiler, library, linker
etc.) provide these capabilities, and no more. It specifies what _every_ C
development system must provide:

* A standard interpretation of the C Language
* A standard set of library functions
* Startup conditions for a program
* Valid signatures for the main() function

The C Standard does not mandate "simple" things like keyboard I/O, because
not all systems have a keyboard (e.g embedded controllers). It does not
mandate screen I/O for the same reason. It does not mandate more complex
things like threads and synchronisation mechanisms, because various O/Ses
implement them in various ways, and it would be impossible to reconcile all
of the threading models in one set of library functions.

A compiler writer is free to provide extensions to the language (subject to
certain naming restrictions), and to provide additional library functions
not mandated by the C Standard. However, users of these extensions must be
aware that their code may not compile, let alone run, in other environments.

The charter of this newsgroup is the C language and libraries as defined by
the C Standard (C90, then C95, and now C99). If you are interested in
platform-specific extensions to the Standard - I am sure that a newsgroup
exists for your interest.


HTH
Daniel Pfeffer

Francis Glassborow

unread,
Dec 2, 2002, 9:14:23 PM12/2/02
to
In article <clcm-2002...@plethora.net>, "\"Paul\" <paulcr"
<nospa...@theplanet.net> writes

>Hiya group,
>I have a been having a debate with this guy Richard HeathField about C
>programming language.

The first thing when you decide to debate issues with someone is to
determine their level of expertise and understanding vis-à-vis your own.
When you find that the other party is held in high regard you should
make an extra effort to understand what he is saying rather than colour
it with your instant reactions.

> I would like to explain my position here. I am programmer with
>approximately 22 years experience and I have diversed during this period to
>learn many different languages. I decided to try and learn more about C as
>this is a language I have never really learned yet, so I subscribed to the
>alt.comp.lang.learn.c-c++ newsgroup.

If in 22 years of programming you have learnt neither C nor C++ then I
think you need to be very careful. C has been the major language for OS
design for the whole of that time and C++ has been under development as
a major multi-paradigm language for very nearly that length of time.

> This guy 'Richard Heathfield' however and a few others seem to be
>dictating nonsense about the ISO standards etc and sending out the
>impression that C is very restricted.

What Richard and other world class experts have been trying to
communicate to you is that the things that the ISO C Standard guarantees
that you can rely on regardless as to what platform you are working on
are very limited. Of course C compilers/libraries written to run in
desktop environments provide extensions to support things that can be
done in those environments but that could not be done in others. If you
need those extras I would debate whether C was the right language for
your needs but that is a different issue.


>For Example: There have been posts
>made asking for help on basic things like simple keyboard input routines
>which are quickly dismissed to be impossible to do with compliant code.

And a moments thought should tell you that this will be true in the
sense that a general purpose language aimed at supporting such low-level
activity as is necessary for writing operating systems, etc. cannot
guarantee that there will even be a keyboard with which it can interact.
At a higher level we have problems with modern multi-tasking systems to
do with 'ownership' of peripherals.

> These people who seem to have the misinterpreted the standards and who
>believe they are in place to hinder us have certainly got their ideas very
>much wrong.

No, it is you who have misinterpreted the purpose of standards which are
mainly (in the case of computer languages) intended to provide a
specification of what ALL programmers on ALL hardware can rely upon.

> The standards are on our side and there to help us. I trust most can see
>why.

Yes, but not in the way that you seem to think. Standards are a contract
between the provider of compilation tools and the user of those.

>If the standards in some way do restrict the C language, I would suggest
>that it be more usefull to correct the standards, than to correct the C
>language in such a manner to make it less portable.

The Standards are there to guarantee what you can expect and rely upon.
Platform specific extensions are fine in their place but those seeking
to learn the language need to have a clear idea as to what is guaranteed
and what is a non portable addition provided by a specific compiler
vendor.

>Who does this guy think he is?

More to the point is what do you think the C community thinks he is? I
have never met Richard but from what I have seen of his writing he is
technically very knowledgeable to the degree that he is somewhere in the
99.99 percentile.

Who exactly do you think you are? 22 years of programming seems to have
added nothing to your ability to assess the ability of others.

>And I have also noted he has tried to copy and enlighten on, the much
>respected, Kernighan & Ritchies works.

As have many others, and in his case very much more successfully than
most.

>Again who does this guy think he is?

Someone who knows that you will not find any of the routines that you
seem to want between the covers of K&R. Just because one pair of authors
is held in high regard does not mean that they are beyond criticism or
improvement. And even if that were the case, no one has ever succeeded
in writing a book that meets the needs of everyone. K&R is a great book,
but is not the place for everyone to start learning C. Indeed much of
the poor C that is around today is a direct consequence of a couple of
companies implementing C in the early 80's based only on K&R (which
never mentions the tools that every unix programmer would have used
instinctively)

>I find utterly annoying that this person has had a book published entitled
>'C Unleashed'. This title implying that the book will teach a programmer to
>write 'go anywhere code'.

No that title identifies it as a title in a specific publisher's (SAMS)
series of computing texts (usually written by multiple authors) Where
have you been the last twenty years if you have missed that. Series
titles from many publishers leave a lot to be desired (when we move from
DOS for Dummies to Sex for Dummies I have to have my doubts but...)

> This persons interpretations of the standards
>would infact be more restrictive. How can anyone assume the content of this
>book is anything more than shredder food when the author cannot even
>understand the simple oxymoron 'portable restriction'?

IMO, in context that is not an oxymoron as it is intended to mean a
restriction that allows portability.

>TY

--
Francis Glassborow ACCU
64 Southfield Rd
Oxford OX4 1PA +44(0)1865 246490
All opinions are mine and do not represent those of any organisation

Brian Inglis

unread,
Dec 2, 2002, 9:14:27 PM12/2/02
to
On 01 Dec 2002 22:34:41 GMT, "\"Paul\"
<paulcr"<nospa...@theplanet.net>@noplacespecial.fsworld.co.uk
wrote:

>Hiya group,
>I have a been having a debate with this guy Richard HeathField about C
>programming language.
> I would like to explain my position here. I am programmer with
>approximately 22 years experience and I have diversed during this period to
>learn many different languages. I decided to try and learn more about C as
>this is a language I have never really learned yet, so I subscribed to the
>alt.comp.lang.learn.c-c++ newsgroup.
> This guy 'Richard Heathfield' however and a few others seem to be
>dictating nonsense about the ISO standards etc and sending out the
>impression that C is very restricted. For Example: There have been posts
>made asking for help on basic things like simple keyboard input routines
>which are quickly dismissed to be impossible to do with compliant code.
> These people who seem to have the misinterpreted the standards and who
>believe they are in place to hinder us have certainly got their ideas very
>much wrong.
> The standards are on our side and there to help us. I trust most can see
>why.
>If the standards in some way do restrict the C language, I would suggest
>that it be more usefull to correct the standards, than to correct the C
>language in such a manner to make it less portable.

The Standard is restrictive in that it cannot comment on any
non-portable constructs, and portability is maximized when the
Standard is most restrictive.
Portable code must be as Standard compliant as possible (as close
to strictly conforming as possible).
Beginners are well advised to stick to the portable Standard
compliant subset to start with.
There are a lot of extra issues which must be understood in
detail, regarding the compiler, the runtime library, the machine,
and the OS, to write code which is not portable and works
correctly on a particular platform.

>Who does this guy think he is?
>And I have also noted he has tried to copy and enlighten on, the much
>respected, Kernighan & Ritchies works.
>Again who does this guy think he is?

http://users.powernet.co.uk/eton

>I find utterly annoying that this person has had a book published entitled
>'C Unleashed'. This title implying that the book will teach a programmer to
>write 'go anywhere code'. This persons interpretations of the standards
>would infact be more restrictive. How can anyone assume the content of this
>book is anything more than shredder food when the author cannot even
>understand the simple oxymoron 'portable restriction'?

The book is a compilation of many authors.

Thanks. Take care, Brian Inglis Calgary, Alberta, Canada
--
Brian....@CSi.com (Brian dot Inglis at SystematicSw dot ab dot ca)
fake address use address above to reply
ab...@aol.com tos...@aol.com ab...@att.com ab...@earthlink.com
ab...@hotmail.com ab...@mci.com ab...@msn.com ab...@sprint.com
ab...@yahoo.com ab...@cadvision.com ab...@shaw.ca ab...@telus.com
ab...@ibsystems.com u...@ftc.gov spam traps

Thad Smith

unread,
Dec 2, 2002, 9:14:30 PM12/2/02
to
Paul wrote:

> Hiya group,
> I have a been having a debate with this guy Richard HeathField about C
> programming language.
> I would like to explain my position here. I am programmer with
> approximately 22 years experience and I have diversed during this period to
> learn many different languages. I decided to try and learn more about C as
> this is a language I have never really learned yet, so I subscribed to the
> alt.comp.lang.learn.c-c++ newsgroup.
> This guy 'Richard Heathfield' however and a few others seem to be
> dictating nonsense about the ISO standards etc and sending out the
> impression that C is very restricted. For Example: There have been posts
> made asking for help on basic things like simple keyboard input routines
> which are quickly dismissed to be impossible to do with compliant code.

>From what I have seen in other newsgroups, Richard knows the language
well.

It is important to distinguish between "conforming" C code which works
on some implementations and "strictly conforming" code, which is defined
by the C standard.

The vast majority of C code written is conforming on some (at least one)
platform, but not others, due to the limitations of strictly conforming
code. Many experienced users attempt to make as much of the code
strictly conforming as feasible, minimizing the non-conforming usage and
relegating it to separate sections of the code for ease of portability.
In order to use this approach, it is important to know the limitations
of strict conformance.

> These people who seem to have the misinterpreted the standards and who
> believe they are in place to hinder us have certainly got their ideas very
> much wrong.

I think you are mis-interpreting the motives here. They are more in the
realm of learning and promoting the use of the standard language. As
far as interpreting the standard, you can obtain a copy of it from the
ANSI web site. I believe a PDF file is $18 or so.

> The standards are on our side and there to help us. I trust most can see
> why. If the standards in some way do restrict the C language, I would suggest
> that it be more usefull to correct the standards, than to correct the C
> language in such a manner to make it less portable.

Portability has been high on the list of goals for standardization.
Compatibility with previous versions is another. The problem with
portability is the breadth of platforms which C supports. This often
results in C being more restrictive because there is not feasible
hardware support or OS support on some platforms for many desirable
features. In that case, the C implementor normally provides extensions
for their platform. There are also secondary standards (mostly extended
library support for OS features) for groups of similar implementations,
but their support is independent of the ISO C Standard, per se.

Thad

David A. Caabeiro

unread,
Dec 5, 2002, 12:10:24 PM12/5/02
to
[...]

> Who exactly do you think you are? 22 years of programming seems to have
> added nothing to your ability to assess the ability of others.
[...]

People, don't waste energy. This guy seems to be a troll (you can find a
similar never-ending thread in comp.lang.c)

Regards,
David.

--
Reply: replace 'nospam' with 'david_caabeiro'

comp.lang.c FAQ: http://www.eskimo.com/~scs/C-faq/top.html
comp.lang.c++ FAQ: http://www.parashift.com/c++-faq-lite/
Online book reviews: http://www.accu.org/bookreviews/public

Keith Thompson

unread,
Dec 5, 2002, 12:10:26 PM12/5/02
to
RTFFAQ

<http://www.eskimo.com/~scs/C-faq/top.html>

You might find section 19, System Dependencies, particularly
illuminating.

--
Keith Thompson (The_Other_Keith) k...@cts.com <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <*> <http://www.sdsc.edu/~kst>
Schroedinger does Shakespeare: "To be *and* not to be"

"\"Paul\" <paulcr"<nospambots>@noplacespecial.fsworld.co.uk

unread,
Dec 5, 2002, 12:10:51 PM12/5/02
to
Thad Smith <Thad...@acm.org> wrote in message
news:clcm-2002...@plethora.net...

I've wiped better of the sole of my shoe.
Boak.

CBFalconer

unread,
Dec 5, 2002, 12:10:58 PM12/5/02
to
"\"Paul\"

>
> I have a been having a debate with this guy Richard HeathField
> about C programming language.
>
> I would like to explain my position here. I am programmer with
> approximately 22 years experience and I have diversed during
>
.... snip ...

>
> This guy 'Richard Heathfield' however and a few others seem to be
> dictating nonsense about the ISO standards etc and sending out the
> impression that C is very restricted. For Example: There have been
> posts made asking for help on basic things like simple keyboard
> input routines which are quickly dismissed to be impossible to do
> with compliant code.

Which they are (impossible). It may very well be possible ON YOUR
PLATFORM at this time, but that will involve non-standard
extensions. The better way to do it is to write your own (or use
somebody elses) routines to test and report the appropriate
conditions, AND TO ISOLATE these for easy replacement on other
platforms. For example you could write a routine "int
keyready(FILE *f)" that returns non-zero for a keypressed and
waiting in some buffer, otherwise zero with no delay. Doing the
second half requires intimate systems knowledge that is not
universally available.

.... snip ...


>
> Who does this guy think he is?

A man with a thorough understanding of the language and systems in
which it is used, and who is well respected in the community.
OTOH you are leaving the impression of being someone ignorant of
the basics who is determined to remain that way.

--
Chuck F (cbfal...@yahoo.com) (cbfal...@worldnet.att.net)
Available for consulting/temporary embedded and systems.
<http://cbfalconer.home.att.net> USE worldnet address!

Brian Inglis

unread,
Dec 5, 2002, 12:11:01 PM12/5/02
to
On 01 Dec 2002 22:34:41 GMT, "\"Paul\"
<paulcr"<nospa...@theplanet.net>@noplacespecial.fsworld.co.uk
wrote:

>Hiya group,


>I have a been having a debate with this guy Richard HeathField about C
>programming language.

> This guy 'Richard Heathfield' however and a few others seem to be


>dictating nonsense about the ISO standards etc and sending out the
>impression that C is very restricted. For Example: There have been posts
>made asking for help on basic things like simple keyboard input routines
>which are quickly dismissed to be impossible to do with compliant code.
> These people who seem to have the misinterpreted the standards and who
>believe they are in place to hinder us have certainly got their ideas very
>much wrong.
> The standards are on our side and there to help us. I trust most can see
>why.
>If the standards in some way do restrict the C language, I would suggest
>that it be more usefull to correct the standards, than to correct the C
>language in such a manner to make it less portable.

One possible source of confusion here may be about the term
standard.
These standards are not proscriptions about what programmers
should do when programming in the language, like corporate
programming "standards" or rather development guidelines.
The Standard here specifies what all Standard C compilers must
provide and do. This is the guaranteed minimal subset of C that
hosted compilers must support. So this is also the minimal subset
of C that programmers should learn, as it is the same on all
platforms.
Compilers may also provide additional library and possibly even
language features: there are often large library extensions to
support native OS facilities. But these vary between system and
compiler releases, so are only of interest to those doing
specific programming tasks on those platforms. There are
different news groups for programming issues on those platforms,
perhaps even for different languages on those platforms. You
probably have to already use some language on those platforms to
even understand the discussions, and their focus is often on
doing a particular task on that system, not teaching a language
to beginners.
So if you're learning a language, you've got to settle for the
generic newsgroups and the generic language, and be guided by
those trying to help: they're only trying to advise you, on their
spare time.
You can go and do what you like on your system, but most platform
specific topics are just out of scope while trying to learn a
language: you should just try them out yourself, and ask
questions on that specific platform's programming newsgroup(s).

Thanks. Take care, Brian Inglis Calgary, Alberta, Canada
--
Brian....@CSi.com (Brian dot Inglis at SystematicSw dot ab dot ca)
fake address use address above to reply
ab...@aol.com tos...@aol.com ab...@att.com ab...@earthlink.com
ab...@hotmail.com ab...@mci.com ab...@msn.com ab...@sprint.com
ab...@yahoo.com ab...@cadvision.com ab...@shaw.ca ab...@telus.com
ab...@ibsystems.com u...@ftc.gov spam traps

0 new messages