Re: http://www-cs-faculty.∼uno/programs/tcalc.w.gz

Shreevatsa R shreevatsa.public at
Sun May 17 07:11:07 CEST 2020

On Sat, 16 May 2020 at 05:01, Andreas Scherer <andreas_tex at>

> Philip,
> I can not speak to Don's decision to move from Pascal/WEB to C/CWEB
> almost 30 years ago, nor do I know how Silvio Levy "convinced" him to
> make the switch.  ;o)  However, from the various sources, I detect this
> possible string of events:

See also this interview of Knuth from December 1993, around the time the
CWEB and SGB books were published:

(begin quote)

CLB: Has CWEB been used just at Stanford, or in industry as well?

Knuth: It's being used around the world. We've had WEB, the original
version (for Pascal) in a variety of systems, and then more and more
people started getting infected by it. TeX was written in WEB. Silvio
Levy did the conversion to CWEB in 1987. It was experimental for a
long time, and now I'm just saying "The experiment worked!". *CWEB is
much better than WEB, because C is a much nicer language to work with
for system programming and lots of other things.* For anybody who
really cares about programming, I have no idea why they would not
prefer this to any other system.

CLB: Easy to use, runs fast, all that good stuff?

Knuth: Right, and it makes you happy after you finish writing a

CLB: Even if you write a bad program?!

Knuth: Almost... well... yeah! Jill will tell you, I come out of my
office several times a week saying, "CWEB programming is such fun!"
It's true, I just can't do enough of it.

(end quote)

[He still continues to mention this last part, even in interviews last year
IIRC... so that's at least 26 years of exclaiming about how much fun CWEB
is. :)]

Later in the interview he mentions what he likes about C:

(begin quote)

CLB: Did you integrate WEB with C because so many programmers today are using
it, or do you personally like C and write with it?

Knuth: I think C has a lot of features that are very important. The
way C handles pointers, for example, was a brilliant innovation; it
solved a lot of problems that we had before in data structuring and
made the programs look good afterwards. C isn't the perfect language,
no language is, but I think it has a lot of virtues, and you can avoid
the parts you don't like. I do like C as a language, especially
because it blends in with the operating system (if you're using UNIX,
for example).

(end quote)
and then there is some stuff about how even a "bad" language is preferable
if it fits well with the operating system. (Also there's some criticism of
C++ as being complicated and baroque.)

>From something he's said somewhere else (can't find a reference now), here
by "The way C handles pointers" he means the way it does pointer
arithmetic: the fact that if p is a pointer, then (p + 1) means not the
address that is one byte or (machine-dependent) word ahead, but rather the
address that is further ahead by the size of whatever type p is a pointer
to. (I may not have expressed this precisely but I hope it makes sense.)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the texhax mailing list.