Looking for a book about C with special criteria

R

Richard

user923005 said:
user923005 said:
[about TAoCP]
They are suitable for someone who is quite proficient with mathematics.
The concepts are not difficult at all for an undergraduate or graduate,
as long as he can understand the maths. That's the part where most give
up.
TAoCP is perfectly suitable for anyone of middle school age
(approx. 12-14 years) or older who is willing to spending time

reading, re-reading, and studying the text.  I am quite sure of
this because I first read TAoCP in middle school.  Although I did
not understand everything, I understood the parts that I was most
interested in just fine after I studied them for some time.  (The
same goes, by the way, for _Compilers: Principles, Techniques,
and Tools_.)
You are a talented person. I know seasoned programmers of many years who
cant follow these texts.
Name them (I've never met any computer science professional or student
Name them? Sorry? What?
You said: "I know seasoned programmers of many years who cant follow
these texts."  and so I said, "Name them.", which is to say, "I don't
believe you."  In other words, I think you made it up.  So I said

Why would I make it up? In order to allow some arrogant arsehole like
you appear to be smarter? I don't think so somehow.
'Name them' so that we can verify your claim by asking them ourselves
if it is really true.

I'm not bandying names of colleagues around here. You can believe me or
not. I don't really care.

And just to remind you, were talking about recommending texts for nOObs.






that had a lot of trouble with the book [other than those who had
trouble with some of the mathematical notation, but that is not
necessary to understand the vast majority of it], and when I was going
to college a huge flock of us used it as a constant reference).  It's
probably the easiest to understand book on computer science
I graduated almost 20 years ago and I have never seen a more complicated
reference than Knuth. Hells Bells, its famous for being tricky to
read. But not for you eh? Good on you. You're clearly a lot cleverer
than most IMO.
available.  I find it hard to believe that a seasoned programmer could
not understand it.
Sure. I believe you believe just that. It's not a question of just
understanding it. It's also a question of whether the time required to
follow it is worth the effort.
If you want to be a computer scientist, I literally can't imagine time
better spent.

I am a "computer scientist" .... And I can.






Anyone who is genuinely interested in computer science and
willing to put in some time and effort should study TAoCP.  It is
an investment well rewarded.
I beg to differ. I think it's undoubtedly an impressive work, but pretty
much impenetrable for the great majority of people.
I have never, ever heard anyone recommend it for new programmers
before. Especially for 12-14 year olds.
Make that two recommendations.
And a hearty "not in a million" from me. It's a reference book for
hardened tech types with a lot of time to decipher cryptic prose and
discrete notation.
For those not in the know, here's an extract of a draft:

You would recommend this to a new programmer who wants to learn C?
For someone who wants to understand bitwise operations, I would be
interested to see a better example.

You're as far detached from reality as anyone I have ever seen in
CLC. And that is saying something.

That is a formal reference. it is totally unsuitable for a nOOb wanting
to learn C IMO.

God I hope to hell you never mentor anyone. I've worked with people like
you in the past - all hot air and no trousers. Big words, no results. In
other words, and to quote you, "I don't believe you".- Hide quoted text -

I taught C at Olympic College in Bremerton Washington, and several of
my students told me that I was the best teacher they ever had.

Can't say I have ever heard of it. And I'm sure you weren't averse to a
little bit of encouragement. Several ehß Wow!
 
B

Ben Pfaff

user923005 said:
I taught C at Olympic College in Bremerton Washington, and several of
my students told me that I was the best teacher they ever had.

I have to say that your chapter in C Unleashed is one of the most
readable, and I wouldn't be surprised if you were a good teacher
in person as well.
 
R

Richard

Ben Pfaff said:
I have to say that your chapter in C Unleashed is one of the most
readable, and I wouldn't be surprised if you were a good teacher
in person as well.

Neither would I.

The point is that having read many books on programming over the years,
I still find it incredible that someone could recommend Knuth for a
nOOb or a 12-14 year old.

Still. If the planet would be a dull place if we were all to agree on
something like this I suppose.
 
U

user923005

Neither would I.

The point is that having read many books on programming over the years,
I still find it incredible that someone could recommend Knuth for a
nOOb or a 12-14 year old.

Still. If the planet would be a dull place if we were all to agree on
something like this I suppose.

I do not expect that TAOCP is the best starting point for everyone who
starts to program. I expect that it will work well for a large class
of people. I tend to think in pictures and symbolically. Things like
case tools appeal to me greatly. For other people, they add little
value. If you ask ten people what their favorite movie is, I guess
that you will get ten answers. That does not mean that any answer is
better than the others, just that different things appeal to different
people. All other areas of interest will be similar. What appeals to
one person may not appeal to another. I remember in my calculus class
when the instructor asked us if we wanted to see how the equations
were derived or to see some examples, the mathematics majors would ask
for derivations and the physics students wanted examples. It's not
surprising, considering where they eventually wanted to go with the
information.

The job of a teacher is to find the right buttons to push to get the
student excited. Once that happens, the rest of the class becomes
very easy because the students don't have to be pushed from that point
forward. When I first found the TAOCP series, I don't think I
personally could have been more excited if I had discovered a trunk of
gold. On the other hand, I do realize that some people could consider
it chloroform in print. So if Knuth does not work for someone, I
suggest trying something else. If you are not sure if you will like
it, get it from the public library or nearby university library
first. If you give it an honest chance, I suspect it will rapidly
grow on you, but that is only my guess and some people probably never
will like it.

I think that the apparent difficulty level is greatly exaggerated due
to some people not being familiar with mathematical symbols. He
always explains what the math means in English along side of it
though, so you really don't have to be able to read the mathematical
notation (though it helps greatly to immediately grasp it if you do
like that sort of thing). I don't think you have to have above
average intelligence to glean a great deal of value from Knuth's work.

I think K&R2 is a good book to learn the C language from (but not how
to program in C, which is something else). You can become familiar
with the grammar with a book like that, but it won't teach you what
the elements of a good program are. As alternatives to Knuth, I think
that Robert Sedgewick or Mark Allen Weiss' algorithm books are very
good as well, or "Introduction to Algorithms" by CLR will give many of
the same concepts as Knuth (though not with quite as much rigor). I
do agree that Knuth is not for everyone. But I also think that
everyone should try it (if they have programming in mind for their
future). At worst, they'll get bored and lose an hour of time which
is about the same as any other book. But for some people, it is an
ideal learning instrument.

IMO-YMMV.
 
R

Richard

user923005 said:
I do not expect that TAOCP is the best starting point for everyone who
starts to program. I expect that it will work well for a large class

Clearly no one would expect any one text to be best for everyone.
of people. I tend to think in pictures and symbolically. Things like
case tools appeal to me greatly. For other people, they add little
value. If you ask ten people what their favorite movie is, I guess
that you will get ten answers. That does not mean that any answer is

Yes, yes. We all prefer different things.
better than the others, just that different things appeal to different
people. All other areas of interest will be similar. What appeals to

Yes. But lets not get too general here. We are talking about whether
Knuth is suitable for most nOObs. And as a seasoned programmer who has
used multiple languages in many environments I can give a reasoned
answer: No it isn't. It's way over the top for a nOOb.

Just to clarify : they are wonderful reference books and I have every
respect for the immortal Knuth.
one person may not appeal to another. I remember in my calculus class
when the instructor asked us if we wanted to see how the equations
were derived or to see some examples, the mathematics majors would ask
for derivations and the physics students wanted examples. It's not
surprising, considering where they eventually wanted to go with the
information.

I don't really see how this makes something as technical suitable as a
beginners programming text. It also sounds like a sound bite to be
honest with you.
The job of a teacher is to find the right buttons to push to get the
student excited. Once that happens, the rest of the class becomes

Yes. Obviously.
very easy because the students don't have to be pushed from that point
forward. When I first found the TAOCP series, I don't think I
personally could have been more excited if I had discovered a trunk of

It seems to me you are very much a minority. Maybe not on CLC. I am in a
minority in certain of my professional tendencies. However I am aware
which of my tendencies would not be appropriate for a lot of newer
recruits. My views are not "equally valid" when one considers the
greater good.
gold. On the other hand, I do realize that some people could consider
it chloroform in print. So if Knuth does not work for someone, I
suggest trying something else. If you are not sure if you will like

Sorry, but thats a bit obvious. One doesn't have to be a genius to see
that.
it, get it from the public library or nearby university library
first. If you give it an honest chance, I suspect it will rapidly

Are you really explaining how to use a library? :-;
grow on you, but that is only my guess and some people probably never
will like it.

I know it. I have used it. Nothing has changed my opinion. Once more, I
am qualified in CS. I can think of no task I have ever undertaken where
I needed to refer to it. Thats not to say I would not have been better
off doing so of course!
I think that the apparent difficulty level is greatly exaggerated due
to some people not being familiar with mathematical symbols. He

"some people"?
always explains what the math means in English along side of it
though, so you really don't have to be able to read the mathematical
notation (though it helps greatly to immediately grasp it if you do
like that sort of thing). I don't think you have to have above
average intelligence to glean a great deal of value from Knuth's work.

Rubbish. Knuth is famous for his writing style. It is incredibly
accurate but very, very pedantic and hard to "read". It is not a flowing
text like something like Expert C Programming. It is a rare person who
can "read" his books!
I think K&R2 is a good book to learn the C language from (but not how

Most good programmers do.
to program in C, which is something else). You can become familiar

Sorry? What is your problem with it? I certainly learnt how to program
in C from it. I didn't learn how to implement various sorts or hash
algorithms etc of course. But "program" yes. Most programmers never,
ever write their own sorts or hash functions. And if they do, its often
directly from a spec...using something like Knuth maybe....
with the grammar with a book like that, but it won't teach you what
the elements of a good program are. As alternatives to Knuth, I think
that Robert Sedgewick or Mark Allen Weiss' algorithm books are very
good as well, or "Introduction to Algorithms" by CLR will give many of
the same concepts as Knuth (though not with quite as much rigor). I
do agree that Knuth is not for everyone. But I also think that

Especially not nOObs IMO.
 
U

user923005

Clearly no one would expect any one text to be best for everyone.


Yes, yes. We all prefer different things.


Yes. But lets not get too general here. We are talking about whether
Knuth is suitable for most nOObs. And as a seasoned programmer who has
used multiple languages in many environments I can give a reasoned
answer: No it isn't. It's way over the top for a nOOb.

I guess that *most* people who choose _programming as a career_ will
have no trouble with it.
Just to clarify : they are wonderful reference books and I have every
respect for the immortal Knuth.

I certainly agree here.
I don't really see how this makes something as technical suitable as a
beginners programming text. It also sounds like a sound bite to be
honest with you.

I was just pointing out that different audiences approach things
differently. It makes sense to me, but I guess I may have been a bit
orthogonal to your thinking here.
Yes. Obviously.


It seems to me you are very much a minority. Maybe not on CLC.

Which is largely populated by C programmers -- the very sort of people
for which TAOCP will be very appealing (on average).
I am in a
minority in certain of my professional tendencies. However I am aware
which of my tendencies would not be appropriate for a lot of newer
recruits. My views are not "equally valid" when one considers the
greater good.

I think it is a mistake to imagine TAOCP is too hard for the average
person who wants to become a programmer. For someone who aspires to
pick asparagras in Moses Lake, WA it would definitely be a burden.
Sorry, but thats a bit obvious. One doesn't have to be a genius to see
that.


Are you really explaining how to use a library? :-;


I know it. I have used it. Nothing has changed my opinion. Once more, I
am qualified in CS. I can think of no task I have ever undertaken where
I needed to refer to it. Thats not to say I would not have been better
off doing so of course!

I keep a copy at my desk and have referred to it often.
"some people"?

You don't even have to have completed calculus to understand the
notation in Knuth. I expect that most high school graduates can
understand the mathematical symbols in it.
Rubbish. Knuth is famous for his writing style. It is incredibly
accurate but very, very pedantic and hard to "read". It is not a flowing
text like something like Expert C Programming. It is a rare person who
can "read" his books!

I don't personally know any programmer who doesn't like Knuth.
Everyone I talk to about it here (at CONNX Solutions Inc.) likes it
nearly as well as I do. So I do not think it is rare to appreciate
Knuth among programmers.
Most good programmers do.


Sorry? What is your problem with it? I certainly learnt how to program
in C from it.

I have no problem with it whatsoever as far as understanding how to
write C code. But it does not teach you how to program.
I didn't learn how to implement various sorts or hash
algorithms etc of course. But "program" yes. Most programmers never,
ever write their own sorts or hash functions. And if they do, its often
directly from a spec...using something like Knuth maybe....

But they need to understand when a hash table is appropriate (e.g.
when you want to do frequent equality searches) and when it is
inappropriate (when you need to do range searches) and why a hash
table might make a better dictionary than a b-tree. If a programmer
does not understand the underlying principles of how programs work and
what makes a good program verses a bad one, they will never reach
their potential.
Especially not nOObs IMO.

I don't think that inexperience at programming has anything to do with
it. Why should my lack of experience prevent me from learning from
the best possible resources? Lack of experience is a handicap in all
venues of learning, but I do not think that a lack of programming
experience will hurt the reader of Knuth any more than it will hurt
the reader of K&R2. In both instances the inexperienced reader will
be at a disadvantage compared to the experienced reader. But in
either case, they are learning from the best.
 
R

Richard

user923005 said:
I guess that *most* people who choose _programming as a career_ will
have no trouble with it.

Well, from my experience I do not have to guess. Most programmers I know
did indeed have problems with it. maybe their fault for not being
willing enough to stick with it. That was certainly the case for
me. There were easier to read examples and explanations.
I certainly agree here.


I was just pointing out that different audiences approach things
differently. It makes sense to me, but I guess I may have been a bit
orthogonal to your thinking here.

Huh? Obviously different audiences have different approaches. nOObs in
particular. My comment about the sound bit was meant to indicate you
were stating the bleeding obvious.
Which is largely populated by C programmers -- the very sort of people
for which TAOCP will be very appealing (on average).

Not on average. CLC does not represent the average C programmer in my
humble opinions.
I think it is a mistake to imagine TAOCP is too hard for the average
person who wants to become a programmer. For someone who aspires to
pick asparagras in Moses Lake, WA it would definitely be a burden.

Once again : In my *experience* you are wrong. We will clearly have to
beg to differ.
I keep a copy at my desk and have referred to it often.

yes, you clearly are a fan. I wonder if your familiarity with it has
eroded your memories of how it was when you first used it?
You don't even have to have completed calculus to understand the
notation in Knuth. I expect that most high school graduates can
understand the mathematical symbols in it.

Understanding and finding it convenient and useful are different things.
I don't personally know any programmer who doesn't like Knuth.

Try google and read a few reviews. Most say "great reference books but
ultimately a bit starchy and hard to grasp".
Everyone I talk to about it here (at CONNX Solutions Inc.) likes it
nearly as well as I do. So I do not think it is rare to appreciate
Knuth among programmers.


I have no problem with it whatsoever as far as understanding how to
write C code. But it does not teach you how to program.

Actually I think it does to a degree. It has well described samples and
a nice style which leads the NEW PROGRAMMER at a decent pace to enable
him to develop his own thoughts.
But they need to understand when a hash table is appropriate (e.g.
when you want to do frequent equality searches) and when it is
inappropriate (when you need to do range searches) and why a hash
table might make a better dictionary than a b-tree. If a programmer
does not understand the underlying principles of how programs work and
what makes a good program verses a bad one, they will never reach
their potential.

I'm not quite sure where that little lecture came from. I agree with all
of that. It doesn't mean Knuth is the answer though.
I don't think that inexperience at programming has anything to do with
it. Why should my lack of experience prevent me from learning from
the best possible resources? Lack of experience is a handicap in all

It shouldnt. Who said it did. But you mistake "best" for "most
suitable". They are not the same things with further qualifications. e.g
"The best for a nOOB is ....".
venues of learning, but I do not think that a lack of programming
experience will hurt the reader of Knuth any more than it will hurt
the reader of K&R2. In both instances the inexperienced reader will

That has to be one of the most ridiculous pieces of rubbish I ever
read. You are comparing Knuth with K&R as equally accessible to a new
programmer? Come off it.
be at a disadvantage compared to the experienced reader. But in
either case, they are learning from the best.

Yes, but in one case they can get down and dirty in a well written
tutorial in the language they wish to learn and in the other they need a
degree in formal notation and the ability and desire to learn a non
existent assembler code.

I guess we won't see eye to eye. I'm actually quite shocked at people
recommending Knuth for new programmers who wish to learn C.
 
U

user923005

Well, from my experience I do not have to guess. Most programmers I know
did indeed have problems with it. maybe their fault for not being
willing enough to stick with it. That was certainly the case for
me. There were easier to read examples and explanations.










Huh? Obviously different audiences have different approaches. nOObs in
particular. My comment about the sound bit was meant to indicate you
were stating the bleeding obvious.





Not on average. CLC does not represent the average C programmer in my
humble opinions.





Once again : In my *experience* you are wrong. We will clearly have to
beg to differ.









yes, you clearly are a fan. I wonder if your familiarity with it has
eroded your memories of how it was when you first used it?





Understanding and finding it convenient and useful are different things.





Try google and read a few reviews. Most say "great reference books but
ultimately a bit starchy and hard to grasp".

I like ACCU Reviews:
http://www.accu.informika.ru/accu/bookreviews/public/reviews/a/a001509.htm

This line does hint at complexity:
"While the material in these books is at a fundamental theoretical
level no self-respecting programmer should be unaware of it. Some of
it may be hard work but if more practitioners were familiar with
Knuth's work we would have a better over all quality in our software."

But it also touches the importance.
Actually I think it does to a degree. It has well described samples and
a nice style which leads the NEW PROGRAMMER at a decent pace to enable
him to develop his own thoughts.

I do not disagree with this.
I'm not quite sure where that little lecture came from. I agree with all
of that. It doesn't mean Knuth is the answer though.

I am saying that the ideas he discusses in his books must be
understood if we are to become good at our craft. And often, we are
called upon to come up with some sort of algorithm to solve a
problem. If we do not understand algorithm analysis, the chances are
good that our solution will have trouble when it scales to large
problem sizes.
It shouldnt. Who said it did. But you mistake "best" for "most
suitable". They are not the same things with further qualifications. e.g
"The best for a nOOB is ....".

Being a nOOb doesn't mean being stupid, just inexperienced.
That has to be one of the most ridiculous pieces of rubbish I ever
read. You are comparing Knuth with K&R as equally accessible to a new
programmer? Come off it.

I found them to be about the same level of difficulty when I first
picked them up.
Yes, but in one case they can get down and dirty in a well written
tutorial in the language they wish to learn and in the other they need a
degree in formal notation and- Hide quoted text -

Nothing more than a basic high school education is needed to fully
understand the mathematics in Knuth[*]

[*] there may be some spot or two where calculus is needed, but those
bits will definitely be rare exceptions. For the most part, algebra
is good enough and maybe 5% of the time trigonometry will be helpful.
 
U

user923005

Again this book about plain C and is an inappropriate reference for
not answering the OP's question. Furthermore, i found this book very
unclear and very verbose.

I have not read Reek's book, but I can definitely tell everyone to
stay away from:
"Mastering C Pointers" by Traisiter
Schildt competition.
 
N

Nick Keighley

its a long time since I read that. I might re-read it...


I think TACP might scare a lot of beginners!


remembering that different people learn in different ways.
My first programming language was Algol-60. I thought the Revised
Report was amazing! But perhaps not many people would want to learn
that
way.

When they were first published. They are reference books. Tutorials do
not "break new ground" in CS.

fair point.

I know they are classic works. I have them. I also have a BSc and other
qualifications in CS and EE (sorry, but here I think its justified to
mention qualifications a little in order to dispel any idea I am
clueless about technical references), but I never used these books and
know no others who used these books as part of their courses.

TACP was used on a course I took. We had a MIX emulator!


no. Its one way. Its a good way for some things. You don't
necessarily end up with a sound theoretical foundation.


nonsense. I know many programmers who know little or no mathematics.

Gracious of you. You will note I said "I ever read".

some beginners find it tough because there are no answers to the
questions.



different people learn in differnet ways

<snip>
 
J

josephhallett

I have never, ever, been able to understand how ANYONE can recommend
these to a beginner.

Being relatively new to programming myself I must admit I can see why
people don't like TAoCP, and treat it as a reference. On the other
hand I am genuinely enjoying slowly reading through it. I find the
treatment of how a computer actually does the calculations and stores
information fascinating and readable, and I seem to find these things
aren't being covered much in my degree so far.

Maybe its my immaturity in computing but if someone wanted to see how
a computer was working internally on a mathematical way, and already
had some grounding in programming, then it seems like a fair book to
recommend?

What would you recommend instead? I don't really take a computing
degree, and can never find people to recommend books (hence why I'm
reading Knuth...).
 
B

Bartc

Richard wrote:

[Taocp for beginners]
And a hearty "not in a million" from me. It's a reference book for
hardened tech types with a lot of time to decipher cryptic prose and
discrete notation.

For those not in the know, here's an extract of a draft:

http://www-cs-faculty.stanford.edu/~knuth/fasc1a.ps.gz

You would recommend this to a new programmer who wants to learn C?

Well, it looks like he went overboard with his LaTeX or whatever he uses for
typesetting. Makes it look a lot harder than it really is. That MMIX (which
I hate) doesn't help.

Looks interesting though. Suitable for beginners? Probably not, for
self-study. Perhaps as a textbook combined with classroom instruction, but
even here this particular work is just too comprehensive. Best as something
to look good on bookshelves and to peruse from time to time.
 
R

Richard

Bartc said:
Richard wrote:

[Taocp for beginners]
And a hearty "not in a million" from me. It's a reference book for
hardened tech types with a lot of time to decipher cryptic prose and
discrete notation.

For those not in the know, here's an extract of a draft:

http://www-cs-faculty.stanford.edu/~knuth/fasc1a.ps.gz

You would recommend this to a new programmer who wants to learn C?

Well, it looks like he went overboard with his LaTeX or whatever he uses for
typesetting. Makes it look a lot harder than it really is. That MMIX (which
I hate) doesn't help.

Looks interesting though. Suitable for beginners? Probably not, for
self-study. Perhaps as a textbook combined with classroom instruction, but
even here this particular work is just too comprehensive. Best as something
to look good on bookshelves and to peruse from time to time.

It's how I see it. Bottom line as far as I am concerned : Knuth is NOT a
nOOb text for non programmers to master programming in C. Possibly for
smart undergraduates with a lot of time on their hands. It's a reference
for all but the cleverest/single minded book worms.
 
B

Ben Bacarisse

Bartc said:
Richard wrote:

[Taocp for beginners]
And a hearty "not in a million" from me. It's a reference book for
hardened tech types with a lot of time to decipher cryptic prose and
discrete notation.

For those not in the know, here's an extract of a draft:

http://www-cs-faculty.stanford.edu/~knuth/fasc1a.ps.gz

You would recommend this to a new programmer who wants to learn C?

Well, it looks like he went overboard with his LaTeX or whatever he uses for
typesetting.

You got that right. He went so overboard he wrote the typesetter. :)
Makes it look a lot harder than it really is. That MMIX (which
I hate) doesn't help.

Looks interesting though. Suitable for beginners? Probably not,

The trouble with this is there seems to be an assumption that beginner
== not too bright. If people said, "not suitable for the average
beginner" I might buy it, but Knuth was a beginner once. Several
thousand of today's beginners will be doing PhDs at prestigious places
in a few years time.

Ultimately, the finding right text is down to the learner, guided by
good advice about what to try and what to avoid.
for
self-study. Perhaps as a textbook combined with classroom instruction, but
even here this particular work is just too comprehensive. Best as something
to look good on bookshelves and to peruse from time to time.

I agree. It is rather expensive to use as a class text, and I don't
find the structure suitable. It is much better suited to reference
use and as a self-study, backup text.
 
R

Richard

Ben Bacarisse said:
Bartc said:
Richard wrote:

[Taocp for beginners]
And a hearty "not in a million" from me. It's a reference book for
hardened tech types with a lot of time to decipher cryptic prose and
discrete notation.

For those not in the know, here's an extract of a draft:

http://www-cs-faculty.stanford.edu/~knuth/fasc1a.ps.gz

You would recommend this to a new programmer who wants to learn C?

Well, it looks like he went overboard with his LaTeX or whatever he uses for
typesetting.

You got that right. He went so overboard he wrote the typesetter. :)
Makes it look a lot harder than it really is. That MMIX (which
I hate) doesn't help.

Looks interesting though. Suitable for beginners? Probably not,

The trouble with this is there seems to be an assumption that beginner
== not too bright. If people said, "not suitable for the average

No. Beginners are generally not exceptional. Most are not. Its why
exceptional people are, well, exceptional. Now I might not be Einstein,
but my past indicates a reasonable intellect and ability to learn and
teach as do my academinc qualifications. And I couldn't even begin to
think about someone learning from Knuth as a beginners text when there
is so much easier, better, practical and more applicable texts out
there.
beginner" I might buy it, but Knuth was a beginner once. Several

Knuth is the Professor Emeritus of the Art of Computer Programming at
Stanford University for goodness sake.
thousand of today's beginners will be doing PhDs at prestigious places
in a few years time.

The "bright ones" who can learn programming from Knuth are the tiny
minority. And they are bright enough to find it themselves :-;
Ultimately, the finding right text is down to the learner, guided by
good advice about what to try and what to avoid.

Exactly. And its not a good idea to recommend something so obviously as
elite as Knuth to the average Noob.
I agree. It is rather expensive to use as a class text, and I don't
find the structure suitable. It is much better suited to reference
use and as a self-study, backup text.

Which is what I have been saying all along.

No one is Knuth does not have its place. I question the sanity or
experience of those who recommend it to a beginner for learning to
program though.

If the recommendation was "Use <insert text here> but consider referencing the
wonderful reference by Knuth for really hard core explanations of how
algorithms works at a later date" then I can concur.
 
B

Ben Bacarisse

Richard said:
No. Beginners are generally not exceptional. Most are not. Its why
exceptional people are, well, exceptional.

And half are better than average. I don't see what all these
unexceptional statements have to do with the argument.

Exactly. And its not a good idea to recommend something so obviously as
elite as Knuth to the average Noob.

With a couple of exceptions, that is pretty much what I said, so I
don't know why you seem to be disagreeing with me.

One exception is the word "noob". Because it is slang, I don't know
exactly what you mean by it, but it does not seem to me to be a
respectful term. It suggests exactly the sort of disregard for
beginners that caused me jump into this thread.

The other is the characterisation of TAOCP as "elite". Again, I don't
know if you mean the hacker sense (133t) or if you are using the more
general meaning. If you had said "so obviously detailed as Knuth" I
would not be arguing. My experience of relative beginners exposed to
TAOCP is not that it favours some elite of intellectual giants, but
that it favours people who take to the obsessive level of detail.
Now, such people *are* often good programmers, but I would not want to
call these obsessive lovers of detail an "elite".
 
R

Richard

Ben Bacarisse said:
And half are better than average. I don't see what all these
unexceptional statements have to do with the argument.

I dont really know where or why you started on IQ or "brightness" level
here. No where did I or anyone else say "Knuth is not for thick
people". Just not for beginners unless they are very exceptional and
prone to enjoying rather heavy technical books.
With a couple of exceptions, that is pretty much what I said, so I
don't know why you seem to be disagreeing with me.

Now I reread you appear to be just playing word games. No where did anyone
suggest that new programmers are not bright. My point was that bright or
not, Knuth is total overkill to teach programming. I took your point as
meaning since new programmers were so bright then of course Knuth would
be a valid suggestion.
One exception is the word "noob". Because it is slang, I don't know
exactly what you mean by it, but it does not seem to me to be a

You use usenet and are a programmer and you dont know what noob is? It
is not disrespectful and it is slang. Do you know what a "hacker" is?

Do you find my text overly full of slang? I think not.
respectful term. It suggests exactly the sort of disregard for
beginners that caused me jump into this thread.

Disregard for beginners? Are you joking or just the most sensitive man
in the world? Nowhere was any disgard give. Nowhere.

I think is it disregard and disrespectful to recommend something Knuth
to someone taking their first steps to be honest. But I think you agree
with that.
 
B

Ben Bacarisse

Richard said:
Ben Bacarisse <[email protected]> writes:

You use usenet and are a programmer and you dont know what noob is? It
is not disrespectful and it is slang. Do you know what a "hacker"
is?

Please don't be silly. I said I don't know *exactly* what you mean by
it. You may not know, but the term is almost exclusively used
pejoratively by teenagers (and older) these days. You might have been
intending that. I am pleased that you were not, but you might note
that some people will see only that negative meaning these days.
Disregard for beginners? Are you joking or just the most sensitive man
in the world? Nowhere was any disgard give. Nowhere.

Only if you were aware of the pejorative use. Since you were not,
I can see that there was no disregard intended.
I think is it disregard and disrespectful to recommend something Knuth
to someone taking their first steps to be honest. But I think you agree
with that.

All was going so well and then this! It is fine for *some* people --
their "beginnerness" is not the point. If I saw a beginner with a
formalist bent and an eye for detail, I'd have no hesitation in
suggesting it. I suspect you also agree with this.

If it assumed a lot of prior knowledge then, yes,it would be
unsuitable for all beginners, but I don't think it does. Note,
though, that I have not checked this idea. It is just a vague memory
that it assumes very little prior knowledge.
 
U

user923005

Please don't be silly.  I said I don't know *exactly* what you mean by
it.  You may not know, but the term is almost exclusively used
pejoratively by teenagers (and older) these days.  You might have been
intending that.  I am pleased that you were not, but you might note
that some people will see only that negative meaning these days.



Only if you were aware of the pejorative use.  Since you were not,
I can see that there was no disregard intended.


All was going so well and then this!  It is fine for *some* people --
their "beginnerness" is not the point.  If I saw a beginner with a
formalist bent and an eye for detail, I'd have no hesitation in
suggesting it.  I suspect you also agree with this.

If it assumed a lot of prior knowledge then, yes,it would be
unsuitable for all beginners, but I don't think it does.  Note,
though, that I have not checked this idea.  It is just a vague memory
that it assumes very little prior knowledge.

A beginner who does not have a formalist bent or an eye for detail is
the exact one who needs the book the most.
IMO-YMMV
I am not saying that he will *like* it the most. But (s)he is the one
that will benefit the most from it.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,764
Messages
2,569,564
Members
45,039
Latest member
CasimiraVa

Latest Threads

Top