Disillusionment with Usenix tutorial (moderate length flame)

Jordan Brown lcc.jbrown at ucla-locus.ARPA
Tue Jul 30 11:45:55 AEST 1985


> From: davidl at tekadg.UUCP (Dave)

>                The "instructor" spent hours going over details of
> expression evaluation and other trivia of compiler implementation.

These are one of the most important areas to understand in the C language.
Much more than in most languages, order of evaluation is important in C.
This is the kind of information which allows you to write machine- and
compiler- independent C code.  C expressions are substantially more
complex than those in other languages; people I used to work with,
very good programmers but a little raw with C, thought that "char ***x;" was
a complex data type and had a little trouble figuring out what it was.

> What I expected was a treatment of how the C language might be used
> to advantage in various applications such as data base management,
> graphics, etc.

Why in the world would you expect to get information on these topics in a class
on C?  These are essentially language-independent topics; a discussion on
them should not mention language, except possibly for the purpose of examples.
Personally, I automatically discard any book which calls itself "Graphics
in C", or any such; I know that my FORTRAN graphics experience will tell me
much more than they will.  I interpret such books as somebody addressing
novices who see "Graphics" and "C" and are looking for a cookbook.

>                 What I got was a sophomoric, at best, review of the
> contents of K&R's book, along with some additional information about
> how the compiler processes its input - information which any competent
> programmer will easily gather from experience in the first few months
> of using a new compiler.

These are things which they will need to know to read existing code and to
produce portable code.  They are not things which they will automatically
learn by using the language; people using only one machine/compiler are
notorious for accidentally writing non-portable code.  People brought in from
another language will not automatically learn the details of how C data
structures work, or how order of evaluation can help and hinder you.
BASIC programmers can write BASIC programs in almost any language.  Same for
PASCAL and FORTRAN programmers.



More information about the Comp.unix mailing list