On Sat, Feb 09, 2002, mulix wrote about "Re: [SUMMARY]:book recomendation needed":
> On Sat, 9 Feb 2002, Shlomi Fish wrote:
> > I would not say that anything by O'Reilly, etc. is a very good buy. For
> > instance, I don't see the point of buying an entire book just to learn
> > "Sed and Awk". And I bet that it would be redundant to buy some of
> > their Perl books. Don't get me wrong, their books are usually very
> > professional and all, but they are sometimes too specific.
I agree that not all of O'Reilly's books are great. They are all "ok", but
some of them are nothing more than "ok". Three examples I can think of where
O'Reilly books that I bought turned out to be ok, but not great: Two books
about the Palm Pilot ("Palm Programming" turned out so annoying that I never
finished reading it, and never programmed anything for the Palm Pilot), and
one Mysql/Msql book (it was ok, but wasn't as amazing as, say, the Perl
book).
Great O'Rielly books I've read inclue the Linux Device Drivers book (also
available online, for free), "Open Sources" (also available online, for
free) and the Perl (Camel) book.
> then how would you suggest one learn sed & awk? note - when i say learn
> i really do mean learn. note "write one script based on the examples and
> call it quits"
One way to learn sed, and to a lesser degree, awk, is to read their manual
page. Once someone tells you *WHY* sed or awk are useful, you can fill in
the blanks yourself by reading the manual. GNU Awk and Sed also have texinfo
pages which you can view online (info gawk, info sed) or print.
If you want a book, the canonical book about Awk is of course Aho, Weinberger
and Kernighan's book "The Awk Programming Language", although this book is
quite old (1988) and expensive. I can't comment on the quality of the
O'Reilly book on Sed & Awk, because I haven't seen it.
Sed is actually much closer to ed than to awk, but I guess nobody is
interested in a book about ed any more, so they stuck it in a book with
awk instead. I wonder if anyone even remembers that the name of the common
utility "grep" also comes from ed, from the common idiom
g/re/p
(with a regular expression where I put the "re") which globally searched
for a regular expression, and printed the list of results.
> > My problem is that I have an on-demand way of learning something new. What
> > I mean is that I use a sub-set of the technology and when I need more, or
> > feel that something is missing, I learn it by looking for info on the web.
> > That's not the best way of mastering something, but I seem to like it.
> > Besides, I'm almost sure nobody uses the whole of C++, Perl, Common Lisp,
> > etc. Those languages have so much redundency over Turing Completeness,
> > that using a subset will not hurt too much. ;-)
The problem with your approach is your phrase "feel that something is missing".
How can you tell that something is missing, if you don't know yet what
features are missing? For example, consider knowing only C, and then wanting
to learn Perl. How will you even begin to guess about regular-expressions?
You'll never find them missing, because you don't even know what they are!
And how will you learn about the difference between my/local, when 'local'
*seems* to do the right thing, has a few weird side-effects, but who says
this isn't how this new crazy language works?
The reason I like to read whole books is because this way I can remember,
in the back of my mind, which features this language has. I don't (and don't
need to) remember all these features and how exactly to use them - when I'll
need to use one I'll still have the book for reference. But I'll know that
such a feature exists, and know where to look it up.
This approach takes time, that's for sure, but I think it makes me a better
programmer than I would have been if I read books on a "need-to-know" basis.
--
Nadav Har'El | Saturday, Feb 9 2002, 28 Shevat 5762
[EMAIL PROTECTED] |-----------------------------------------
Phone: +972-53-245868, ICQ 13349191 |I want to be a human being, not a human
http://nadav.harel.org.il |doing -- Scatman John
=================================================================
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]