Disillusionment with Usenix tutorial (moderate length flame)

dbercel at ucb-vax.ARPA dbercel at ucb-vax.ARPA
Wed Jul 31 14:45:54 AEST 1985


>From info-unix-request at BRL.ARPA Tue Jul 30 19:44:46 1985
Received: from sun.uucp by sunshine.sun.uucp (4.24/3.14)
	id AA18048; Tue, 30 Jul 85 19:44:40 pdt
Received: by sun.uucp (3.0DEV4/SMI-1.2)
	id AA05958; Tue, 30 Jul 85 19:37:19 PDT
Received: from BRL-TGR.ARPA (brl-tgr.arpa.ARPA) by UCB-VAX.ARPA (4.24/5.3)
	id AA12235; Mon, 29 Jul 85 20:39:12 pdt
Message-Id: <8507300339.AA12235 at UCB-VAX.ARPA>
Received: from brl-aos.arpa by TGR.BRL.ARPA id aa05388; 29 Jul 85 21:45 EDT
Received: from ucla-locus.arpa by AOS.BRL.ARPA id a025851; 29 Jul 85 21:44 EDT
Date:           Mon, 29 Jul 85 14:32:46 PDT
From: Jordan Brown <lcc.jbrown at UCLA-LOCUS.ARPA>
To: INFO-UNIX at BRL.ARPA
Subject:        Disillusionment with Usenix tutorial (moderate length flame)
In-Reply-To:    Your message of Sun, 28 Jul 85 04:47:13 EST
Status: R

> 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