On Fri Sep 10 23:09:04 1999, Nimrod Mesika wrote about "Re: linux book":
> 
> the rookie wrote:
> > 
> > hi, can someone recommend a book to start using linux?
> > (and that's mean: programming in linux, communication
> > stuff, and the shell commands)
> 
> Not a Linux specific boot but a good reading if you want to understand
> the philosophy of the UNIX operating system: "The UNIX Programming
> Environment" by Kernighan and Pike. 
> A bit dated but still a good book.

This is indeed a wonderful book, and in fact this is the book I learned
UNIX from, 14 years ago. But saying it's "a bit dated" is an an
understatement :) Even then, on AT&T's 7th edition research UNIX,
the book was a bit dated. (I'm assuming there isn't a new edition of that
book - as far as I know there isn't. I wonder if it's still in print).

For example, I remember it explains how the "#" character is used to delete
a character, and it took me a while to understand that the "backspace" key
actually does that, and that the "#" key had been used before, when there
weren't CRT terminals, but rather printers and keyboard, and printers
couldn't erase a character, so a "#" was used to signify a deleted character.
Other things of great importance that have happened since this book was
written: 1) job control was added to Unix 2) newer shells (ksh, zsh, and
even the abominable tcsh) have many new features 3) The C section teaches
K&R C, which is different in many respects from the current ANSI C
implementations. 4) Some new programs, such telnet, ftp, and more, should
definately be taught to beginners 5) X-windows came along.

So, for a UNIX beginner, I'd probably recommend getting much more modern
book - but try to get one from a respected author, and not some local
crap written in Hebrew by some guy with 2 years programming expereince.
It's still possible to learn UNIX from that book today (someone I know
learned UNIX from it about 3 years ago), but you'd constantly have to
watch out for things that have changed since. Non-beginners should definately
read this book - even if only for its historical significance.

When looking for a more modern book, you should look for books with a
similar scope as that of "The Unix Programming Environment", i.e., you
should look for a book which explains at least:
 1. Getting started
 2. Using the shell and basic commands
 3. Basic shell commands for networking and windowing.
 4. Programming the shell and/or other scripting languages (awk, perl,
    etc.)
 5. Programming in C.
 6. Other topics relevant to C programming: yacc, and maybe even socket
    programming, X-windows programming, etc.

If someone can give a pointer to such a "Modern Unix Programming Environment"
book, it would be very nice. I'm sorry I don't know of any such book to
recommend.

The original "Unix Programming Environment" was a very special book in that
it can take an absolute beginner (in fact, when I first started reading it,
I didn't know programming in any programming language), and after reading
the whole book, you really know *a lot* about the Unix operating system and
most its important parts. It also includes example programs which were
*extremely* useful, some I use to this day:

 1. I still use Brian Kernighan's improved "cal" script to this day.
 2. I improved considerably their 'get' and 'put' scripts to make a complete
    source-code control system which I sometimes use even today (when I
    think I won't need all the power of RCS).
 3. I improved considerably on their 'hoc' high-order-calculator, and now
    I have a suphisticated interpreter for numerical expressions, function
    evaluation, etc., which I use to this day instead of a simple calculator.
    Kernighan probably won't recognize my hoc if he saw it, with autoconf
    configuration, dozens of new operators and functions, local variables,
    etc., but the base for my hoc is from his book.

Good luck and Shana Tova,
        Nadav.

-- 
Nadav Har'El                         | ######  ########     # | <-- Sorry if
Email: [EMAIL PROTECTED]       |      #       #       # |   you can't
Department of Mathematics, Technion  |      #       #       # |   read Hebrew.
Israel Institute of Technology       | ########     #  ###### |   Nadav. ;)
WWW page: http://harel.org.il/nadav  ICQ #13349191

=================================================================
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]

Reply via email to