Fao said:
[...]
I've found it a book that ages well, as opposed
to some more beginner-level texts that are largely worthless once
you've moved on.
When I first started getting into the world of programming, I thought the
key to learning any language was to learn every single function and operator
and remembering how they are used (I was no more then 10 or 11 years old at
the time).
Yeah, a common mistake. I think it derives from the elementary-level
schools focusing on rote memorization instead of problem-solving.
While rote memorization is useful in programming, it certainly doesn't
aid the learning of the language beyond a certain level.
K&R is great because, like any good book, it doesn't just throw
out a bunch of examples without explaining why they work. K&R makes no
attempt to explain all the functions of the standard library because it
starts from the ground up, explaining the rules of the language enough to
let the programmer decide for his or herself what should be used and when.
Yep. The Standard Library is presented as something most programmers
will always see it as: A `magical' group of subroutines and magic
numbers you can call upon after including certain header files. It is
presented simply as-needed, with the appendix in the back giving a
short description of all of them in turn.
Which I think is the best possible way to present the Standard Library
to a new programmer.
Writing functions of my own at the time seemed like some so far, out of this
galaxy, topic that I had never even thought I could ever learn how.
Heh. Very little in programming is magical. Some of it is esoteric and
badly-documented, some of it is very complex, and some of it is truly
difficult to understand, but little of it is not doable by someone who
will invest the effort in learning it.
And creating subroutines in C is certainly none of the above, except
doable.
The problem with a lot of the beginner level books is that they lead you to
the same frame of mind that had plagued me in the beginning. If there
wasn't a chapter in the book dedicated to my specific task, I didn't know
how to "program" --or was it copy ;-)-- it.
That's right. That's why books on programming must be written by
people who are generally intelligent and /do/ have a deep
understanding of how to put the tricks of the language in context.
Otherwise, it will be trained seals teaching contextless tricks to
other trained seals.
It's been a long day so I'm
probably not making sense anymore but what I'm trying to say is that at some
point, if a person really wants to learn how to program, the "For Dummy"
books just won't suffice.
The "For Dummy" books are just that: For dummies.
Anyone who can
gain a deep understanding of a problem will be left behind by the
sheer ineptness of the texts.
But think about this: As complex as good programming is, what does the
And you won't believe how many people refuse to
accept this. I've had friends that have read the Microsoft _By_ _Example_
books and knew nothing after completing the book; yet, swore they did.
Hell, I know people who didn't read that book, don't know jack shit,
and still insist they're intelligent.
It isn't all the book's fault.
Ask
them to do anything that isn't in the book and they'll either swear that it
can't be done or attempt to learn how by getting another book of the same
kind.
And that, my friend, is why software book publishers always look so
happy.
And why tech support people always want to price high-powered
handguns.
Before you know it, the dumbest person at work has the largest book
colection, reads all of them and doesn't get any smarter.
Nice of the morons to give us clues like that. I'll know who not to
bother in the future.
Happy hacking,
August