Subject: Looking for legendary books

From: "Nadav Har'El" <[email-masked]>
Date: Tue, 16 May 2000 22:05:45 +0300

Hi :)

I'm looking to enlarge my collection of computer-related books (in English),
and hopefully to read them too and learn new stuff. Anyway, I'm not looking
for these dime-a-dozen "HTML for Dummies" type books, but rather for
"legendary" books - books that people consider the best books on a particular
subject, that hopefully also describe the philosophy behind what is written
in it, and are written for experienced computer users and/or computer
scientists (although they may also be for non-"Dummy" beginners).

Here are just a few examples of books I've read and I consider worthy the
"legendary" status:
1) "Unix Programming Environment" by Brian Kernighan and Rob Pike
   (note: I wouldn't recommend this book to new Unix users. It's seriously
    out of date, and parts of it were out of date when I first read it, in
    1985).
2) "The C Programming Language" by Brian Kernighan and Dennis Ritchie
3) "C: A Reference Manual" by Samual Harbison and Guy Steele
4) "Compilers: Priciples, Techniques and Tools" By Aho, Sethi and Ullman
   (a.k.a. "The Dragon Book")
5) "Internetworking with TCP/IP" by Douglas Comer
6) "Design of the Unix Operating System" by Maurice Bach
7) "Programming Perl" by Larry Wall (a.k.a. "The Camel Book")
8) "Unix Network Programming" by Richard Stevens
etc. (but the list is not very long. many of the books I read definitely are
not worth the title "legendary", or describes things that by now are obsolete;
unfortunately even publishing houses are inconsistant, with O'Reilly publishing
a lot of chaff with the wheat, for example).

Can anyone else recommend other books that he or she considers "must-reads"?
For example, is there such a book on Scheme? Is there such a book for
programming on the Microsoft Windows platform? (I hope this question doesn't
get me stoned!). Can you recommend a good book on principles of programming
languages that mentions all (or some) of the things some people have been
fighting over in this list for the last few days?

Thanks,
	Nadav.

-- 
Nadav Har'El                        |      Tuesday, May 16 2000, 12 Iyyar 5760
[email-masked]             |-----------------------------------------
Phone: +972-53-245868, ICQ 13349191 |If I were two-faced, would I be wearing
http://nadav.harel.org.il           |this one?.... Abraham Lincoln

---

From: Izar Tarandach <[email-masked]>
Date: Tue, 16 May 2000 22:20:04 +0300

IMHO, "The Design and Implementation of the 4.4BSD Operating System"
(Unix and Open Systems Series.),by Marshall Kirk McKusick (Editor) is a
must. Another good book I found worthy to include in my personal library is
"UNIX Internals: The New Frontiers",by Uresh Vahalia. One I rather enjoyed
but I doubt I could call it a must (unless if for a very specialized public) is
"Linux
Device Drivers" by Alessandro Rubini.

--izar
--------------------------------------------------Aduva/LinuxQA Inc.
                                  Izar Tarandach
                                  Daemon Exorcist,Research Team Lead
--public keys available at:-------------http://www.linuxqa.com/~izar

---

From: Gaal Yahas <[email-masked]>
Date: Tue, 16 May 2000 23:33:27 +0300

> fighting over in this list for the last few days?

I always recommend Andrew Tannenbaum's _Computer Networks_. It's not
about programming per se, and it doesn't go as deep as (say) Comer
into any specific topic, but it does present solid explanations to
the rationale--and the diversity--of its namesakes.

Also, if you're to do Deep Magic in Perl, you should definitely get
your paws on _Advanced Perl Programming_ by Sriram Srinivasan (of
which I have a borrowable copy: email me in private). It is also on
O'Reilly's _Perl CD Bookshelf_.

A legendary read (unfortunately also in the sense that I have been
unable to locate this book!) is Ted Nelson's _Computer Lib_. People:
if anyone has a copy for borrow or sale, PLEASE TELL ME. 

I have to mention GEB, of course, for inspiration if not for any
one other thing. My (errrrr...) copy has its pages falling out; but
I'm certain you can find someone here to offer you a read, if you
haven't yet.

Less of a classic, but definitely a great read is _Accidental Empires_
by Robert X. Cringely. Don't miss out the part with Bill Gates in
IBM's parking lot. (This book is not at all about programming: I'm
digressing. It is about how the PC revolution unlikelily came to be.)

I'd not read, but of course've been told, that there are one or two
books by Knuth that are classics :-)

Hope this helps,
Gaal

-- 
believing is seeing
[email-masked]
http://www.forum2.org/gaal/

---

From: Alex Shnitman <[email-masked]>
Date: Tue, 16 May 2000 23:47:09 +0300

Hi, Nadav!

> scientists (although they may also be for non-"Dummy" beginners).

Two books in the "legendary" category for you:

TCP/IP Illustrated / W. Richard Stevens -- explains in detail how
TCP/IP and related protocols work, with all the details such as
routing, fragmentation, multicast and whatnot. Only useful if this
kind of stuff interests you.

Design Patterns: Elements of Reusable Object-Oriented Software / Erich
Gamma, Richard Helm, Ralph Johnson, John Vlissides -- I haven't read
this book myself yet, but everyone says that it's a must for OO
programmers. It describes frequent patterns of problems that OO
programmers face and presents designs that solve them.

-- 
Alex Shnitman                            | http://www.debian.org
[email-masked], [email-masked]   +-----------------------
http://alexsh.hectic.net    UIN 188956    PGP key on web page
       E1 F2 7B 6C A0 31 80 28  63 B8 02 BA 65 C7 8B BA

Linux represents a best-of-breed UNIX, that is trusted in mission critical
applications, and - due to it's open source code - has a long term
credibility which exceeds many other competitive OS's. 
	-- Internal Microsoft memo

---

From: Moshe Zadka <[email-masked]>
Date: Tue, 16 May 2000 23:52:47 +0300 (IDT)

> I'm looking to enlarge my collection of computer-related books (in English),

SICP, SICP, SICP

Structure and Interpretation of Computer Programs.

The greatest book ever. If you actually work through all the examples, you
can program anything under the Sun (except you need a Scheme interpreter
to bootstrap the universe)

--
Moshe Zadka <[email-masked]>
http://www.oreilly.com/news/prescod_0300.html
http://www.linux.org.il -- we put the penguin in .com

---

From: "Ury Segal" <[email-masked]>
Date: Wed, 17 May 2000 00:02:03 +0200

Add "Structured computer Organization" by Tenenbaum. I know
he had a fight with Linus 10 years ago, and it doesn't matter.
And, ofcourse, "Applied Cryptography".
Did anyone say "TCP Illustrated" By Stevens ,Vol. 1, 2 & 3 ? It is a must.

----- Original Message -----
From: Izar Tarandach <[email-masked]>
To: <[email-masked]>
Sent: Tuesday, May 16, 2000 9:20 PM
Subject: Re: [hackers-il] Looking for legendary books

> ------------------------------------------------------------------------
> Win an iMac computer from The Apples in stereo and other
> FREE great stuff at RollingStone.com!
> http://click.egroups.com/1/4023/9/_/_/_/958508347/
> ------------------------------------------------------------------------
>
> To unsubscribe from this group, send an email to:
> [email-masked]
>
>
>

---

From: Moshe Zadka <[email-masked]>
Date: Wed, 17 May 2000 07:44:26 +0300 (IDT)

> he had a fight with Linus 10 years ago, and it doesn't matter.

In retrospect, seeing the flamewar, and disregarding the personal notes 
(some are scathing), this is the classic war -- New Jersey vs. MIT.
Linus was the "New Jersey" guy -- worse is better, we'll throw
completeness and good design out of the window if it's too hard to
implement, etc. Tenenbaum shoots back with the two classic MIT retorts --
the diamond-like approach (Minix is small and beautiful) and the
completeness aproach (micro kernels scale well). If we wanted to compare
those to programming languages:

Minix -- Scheme
Linux -- C
Micro Kernels -- Lisp

computer-history-101-ly y'rs, Z.
--
Moshe Zadka <[email-masked]>
http://www.oreilly.com/news/prescod_0300.html
http://www.linux.org.il -- we put the penguin in .com

---

From: [email-masked]
Date: Wed, 17 May 2000 10:00:44 +0300

> to bootstrap the universe)

Well, programming under Sun is OK, but there are other good platforms that
shouldn't be left out.

canot-resist-a-pun-when-i-see-one-ly yours,
chen

--
Chen Shapira	Web Developer and Linux Activist
The algorithm for finding the longest path in a graph is NP-complete.
For you systems people, that means it's *real slow*.

---

From: Omer Mussaev <[email-masked]>
Date: Wed, 17 May 2000 09:00:40 +0300

> a lot of chaff with the wheat, for example).

9) "Essentials of Programming Languages" by Daniel Friedman and friends
10) "Structure and Interpretation of Computer Programs" by Abelson and Sussman
11) "C traps and pitfalls" by Andy Koening
12) "the Design and Evolution of C++ programming language" by Stroustrupe
13) "The mythical man/month" by Brooks
14) "TCP/IP illustrated" by Stevens and friends

> Old school buds here:
> http://click.egroups.com/1/4057/9/_/_/_/958503951/

--
Omer Mussaev    051-308-214   mailto:[email-masked]
systems programmer, Mercury Interactive/RND/Conduct/core

---

From: "Nadav Har'El" <[email-masked]>
Date: Wed, 17 May 2000 10:11:25 +0300

I thought I should add to my own list the following books, although they're
probably of interest to a smaller public than my previous list:

* "The TeXbook" by Don Knuth (of course, I forgot also to include his "Art
  of Computer Programming", but someone already corrected that omission).
* "The Data Compression Book" by Mark Nelson and Jean-Loup Gailly
* "Numerical Recipes in C : The Art of Scientific Computing" 
and maybe even
* "Postscript Language Reference Manual".

-- 
Nadav Har'El                        |    Wednesday, May 17 2000, 12 Iyyar 5760
[email-masked]             |-----------------------------------------
Phone: +972-53-245868, ICQ 13349191 |How to become immortal: Read this
http://nadav.harel.org.il           |signature tomorrow and follow its advice.

---

From: Moshe Zadka <[email-masked]>
Date: Wed, 17 May 2000 10:22:04 +0300 (IDT)

>   of Computer Programming", but someone already corrected that omission).

Tex: the Language is much better.

> * "Postscript Language Reference Manual".

Great book.

---

From: "Nadav Har'El" <[email-masked]>
Date: Fri, 19 May 2000 13:05:56 +0300

> Tex: the Language is much better.

I found only "Tex: The Program" by Don Knuth. Is that what you meant? What
is it about? Strangely, amazon doesn't have a review of this book (maybe you
can write one...).

-- 
Nadav Har'El                        |       Friday, May 19 2000, 14 Iyyar 5760
[email-masked]             |-----------------------------------------
Phone: +972-53-245868, ICQ 13349191 |Hospital: Where they wake you up to give
http://nadav.harel.org.il           |you a sleeping pill.

---

From: Moshe Zadka <[email-masked]>
Date: Fri, 19 May 2000 14:06:43 +0300 (IDT)

> is it about? Strangely, amazon doesn't have a review of this book (maybe you

Sorry about the name: been a long time.
TeX, for anyone living in a cave, was written in WEB, a Literate
Programming language on top of a pascal variant. WEB programs can be
either "tangled" (compiled to Pascal and then to executables) or "weaved"
(made into documentation of themselves). Tex: The Program is the TeX
program, weaved and run through TeX to produce a book. You can print it
yourself: just get TeX, weave it, and run it through TeX to get a dvi, use
dvips to get a PostScript, and print it.