scsh-users
[Top] [All Lists]

Re: Reply to Ousterhout's reply (was Re: Ousterhout and Tcl ...)

To: scsh@martigny.ai.mit.edu
Subject: Re: Reply to Ousterhout's reply (was Re: Ousterhout and Tcl ...)
From: cyber_surfer@gubbish.wildcard.demon.co.uk (Cyber Surfer)
Date: Mon, 14 Apr 1997 12:07:53 +0100
Organization: The Wildcard Killer Butterfly Breeding Ground
With a mighty <5irhvn$gm9@mimsy.cs.umd.edu>,
clin@cs.umd.edu uttered these wise words...

>     Some of these Dummies books are unfortunately, not very good.  Some
> authors think that if you use "cool" language and sound hip, you are
> talking to a dummy, even as they explain a fairly difficult concept.

Being "good" is not really the issue. I wish it was, but then we could 
just recommend books like SICP. It might help just to get a book about 
Lisp onto the bookshelves that talks the same language as the mass of 
books about C++, VB, etc.

Not that I'd want to assume that _anyone_ was a dummy. If they've 
bothered to read your book, at least credit  them with _something_. ;)

> But the nice thing is that the author writes the book with the dummy
> in mind.   Take Stroustrup's book on C++.   For a long time, I've said
> it's not a good book for dummies, but I hadn't seen the book in a long
> time, so I had forgotten what kind of things is said.   Having reread
> just the first few pages recently, he makes comments that only an
> experienced programmer would understand.   

I fully agree with you about this. Most programming books make this 
mistake, IMHO. I've been very impressed by the functional programming 
tutorials that I've read. I guess it's because they start from the 
absolute basics, assuming no prior programming knowledge and 
experience. There are many other books which assume that you already 
know how to program, and I think that Stroustrup's book on C++ is one 
of them.

To be fair, I don't think that he hides this. It's a reasonable way to 
write a tutorial, providing that you make it clear enough who the book 
is targetting. In this sense, it's like everything else: know your 
audience or you a failure to communicate.

There are some Lisp books that go to the other extreme, but I think 
that SICP's only failing in this respect is that it covers a heck of a 
lot of material, and moves _very_ fast. Too fast for "dummies", I bet.

In my collection of programming language tutorials, I have a number 
for Prolog. One is very thin, and apallingly bad at explaining 
anything, never mind Prolog. I bought it and keep it as an example of 
how _not_ to teach anything.

There are many ideas that need more than a single page, and some that 
could use several _chapters_. SICP could be looked at as a book that 
communicates a single very important idea, which is that code is also 
data, and data may be used as code. It teaches a lot more than that, 
but it's an idea that most tutorials don't even mention, never mind 
devote entire chapters to it.

OOP is also worth an entire book, esp if the language is supposed to 
be OO. I'd hope to see at least a single chapter focusing excusively 
on it, in a tutorial for an OO language. On the other hand, I've read 
some excellent books that communicate OO ideas in _every_ chapter, so 
perhaps it's not so easy, or desirable, to draw a clear line between 
material about the language and OOP techniques.

>     Winston wrote a book called Common Lisp, and he sort of has a
> dummies style of writing.   The headings of the individual sections
> are often sentences.   He keeps his sentences rather short.   He
> tries to use simple examples.   But for all that, it still reads
> more complicated than it seems it should.   Sort of like someone
> trying to explaing thermodynamics to kindergarterners in simple
> language, but still being more-or-less technically precise.   It's
> still a little hard to follow.    It shows up more in his book
> "On to C++".    I happen to like Touretsky's Lisp book better 
> even though it, too, is fairly elementary.   It reads a little
> better.   Winston's book has more stuff in it overall, however.

Unless you mean the tutorial he wrote with Horn, I've not read that 
one. The "W&H" book is an excellent tutotial, but like SICP, it also 
covers a lot of ideas and moves very fast.

However, if you don't think that math and AI problems will be of any 
use to you (err...), then a better book - for dummies - would be one 
that focuses more on the things that most programmers (dummies?) will 
recognise as familiar problems. How about an HTML search engine, 
complete with the socket code for fetching objects from a web server, 
or even a web server, complete with CGI meta-language, stats 
processing and reporting, etc. That should demonstrate many of the 
same techniques, but it would be _presented_ from an angle that most 
programmers will at least recognise, even if they _might_ have trouble 
understanding the code.

My guess is that they'll make more effort to understand what you're 
talking about if the problems are ones that they understand and want 
(better) solutions for. If you say, "Let's write a web server that 
allows us to modify the CGI code _without shutting down or unloading 
anything_", I bet that more programmers will be interested than if you 
offered them techniques for writing a natural language front end to a 
database - which is just one of things that W&H do in their book.

I'm not knocking W&H, as they wrote an excellent book IMHO, but I 
doubt that the subject matter will have the same "pull" as a book 
about writing Internet code. Perhaps that's the power of buzzwords. A 
phrase like "matural language" will likely turn off many people, while 
anything with "web" in it should at least catch their eye. Of course, 
because of the low quality of many Internet books, this will also turn 
off some other people.

How many books are there about Internet programming that don't use 
Perl, C++, Java, or VB? These aren't the only languages capable of 
creating such apps and servers. I smell an opportunity.
-- 
<URL:http://www.wildcard.demon.co.uk/> You can never browse enough
  Martin Rodgers | Programmer and Information Broker | London, UK
            Please note: my email address is gubbish.

<Prev in Thread] Current Thread [Next in Thread>