[Gllug] Newbie asks: how to learn?

chris.wareham at btopenworld.com chris.wareham at btopenworld.com
Fri Dec 20 15:26:59 UTC 2002


N London John <northlondonjohn at yahoo.co.uk> wrote:
> 
> 1: Can anyone recommend decent books on linux for a newbie? Nothing too
> high-falutin' (obviously) but also nothing too simple (I'm not stupid).
> I know there's lots of info available on the net, but I do prefer 
> reading and referring to dead tree.

Avoid any book with "complete" or "learn in 24 hours" in the title. In
fact avoid any books that are the size of a telephone directory
(generally published by Que or Sams). For the most part these are poorly
written and poorly edited.

A very, very good book on Unix for a new user is:

Understanding Unix  
Stan Kelly-Bootle
Sybex International; ISBN: 0782114997

This was the book that taught me Unix fundamentals, from a users
perspective.

For reference purposes, the O'Reilly Nutshell series is great, but they
are *not* intended as tutorials.

For Unix programming, first get reasonably proficient in C - I don't
know any good tutorial books on C, as I learnt it the painfull way from
Kernighan and Ritchie's "The C Programming Language". It's a little
terse for a first time programmer. I certainly wish I'd had a slightly
more hand-holding book to learn C from.

Once your past the basic C stage, W. Richard Stevens wrote the bible of
Unix programming:

Advanced Programming in the UNIX Environment
W. Richard Stevens
Addison Wesley; ISBN: 0201563177

Don't be put off by the "advanced" bit of the title, the book is very
readable and has copious examples.

UNIX Network Programming Vol 1
W. Richard Stevens
Prentice Hall; ISBN: 013490012X

Volume two of the Network Programming series is a worthy buy as well, or
even the (one volume) first edition if you can find it cheap secondhand.
Regrettably Stevens passed away a couple of years ago, leaving the third
volume of UNP second edition unfinished.

> 
> 2: The more I'm getting into this linux lark, the more I want (and 
> need) to know about the hardware side of things. And here, there's real
> limits to just reading about it - hands-on experience is definitely 
> required. What's the best way to learn? Are there any decent 
> courses/night classes in London on this?
> 

If you mean an understanding of the hardware itself, then the following
is quite good:

Computer Organisation and Architecture  
Stallings
Prentice Hall; ISBN: 0130351199

I have an older edition, but I like it so much I'm going to invest in
the new one when I've got the spare cash.

Learning assembly language programming is a good way of understanding
the low level concepts of computers. Writing in assembly is slow and
tedious, but a basic understanding should allow you to optimise your
higher level code better. Personally, I found learning assembler quite
interesting, but only from the perspective of what was going on "under
the hood". Ask me to do it for a living and I'd run a mile.

Each family of computer processors have a distinct "instruction set",
simple capabilities like addition and so forth. The Intel x86 and other
chips that implement its instruction set are what you'll have in a
typical PC. Unfortunately the x86 instruction set is crippled by its
backwards compatability with older family members. No one likes x86
assembler, so it might be worth just learning the theory from a book on
a nicer processor. Books on Motorola's 68k assembler are available
secondhand in large quantities, as it seemed to be the processor of
choice for University computer courses.

Chris

-- 
Gllug mailing list  -  Gllug at linux.co.uk
http://list.ftech.net/mailman/listinfo/gllug




More information about the GLLUG mailing list