I think by "daunting" he means that the books do not look accessible to someone outside programming.
I would say "Learn Python the Hard Way" if you're absolutely new to it. It moves quickly and will give a good sense of what it's like to actually push the bits around. Most people who really like programming seem to have a similar first experience (like using BASIC on their PC or calculator); replicating that seems like a good first step, no?
For a bright student with no programming experience their first go should be something like Learn Python the Hard Way; with a clueful person around to give guidance. (Not to answer questions, but to push the student to ask the right questions in search engines).
Once they've done that they're set up for K&R, etc. I get the impression that the development environment is invisible to programmers because it's just there. But imagine someone handed you K&R and asked to to write and compile a program. What compiler would you download? How would you install it? Where would you go for help?
---EDIT--- the child comment shows my next paragraph is pretty stupid. (In my defence I was remembering a time before Google would know what C or C++ meant; and before students had Internet access during lessons.)
The other concept that beginners have trouble with in C is "how do I know the names of the functions that I'm supposed to use to do stuff? How do I know what displays text on the screen? How do I know what reads keyboard input?".
If you are trying to teach someone the basics of programming, basic operators are enough. A great exercise is "write a function that takes an ASCII string in as input, parses it, and returns an integer. And write a program that takes the string input, parses it, and displays the output to the screen."
It's a great exercise. Writing your own atoi function was one of the first things I did when teaching myself C.
This is the difference between learning the language as a training exercise, and learning the language with an eye to writing software in it. C is a very easy language to learn as a training exercise. It's only when you get into writing significantly complex programs that C becomes a language that takes a lot of time to master.
The goal here is to learn how to program, not learning how to write programs in C, so the sorts of tasks and things are really pretty approachable.
Ok, if you really want something more advanced, write a program that, say, shuffles a deck of virtual playing cards. Again, something a beginner at programming would learn a lot from (pointers, data structures, memory management) but a professional C programmer would laugh at as trivial.
What compiler would you download? How would you install it? Where would you go for help? (...) how do I know the names of the functions that I'm supposed to use to do stuff? How do I know what displays text on the screen? How do I know what reads keyboard input?
Search engines?
"How do I read keyboard input in C" → the first result is scanf()
"How do I display text on the screen in C" → returns a tutorial on how to use puts and printf
The compiler thing is actually the major problem. There are lots of choices and it's easy to become lost in those woods. LPTHW has the benefit of "download this", which removes an entire realm of choosing that's much less important than stoking some fires while the spark burns.
I would say "Learn Python the Hard Way" if you're absolutely new to it. It moves quickly and will give a good sense of what it's like to actually push the bits around. Most people who really like programming seem to have a similar first experience (like using BASIC on their PC or calculator); replicating that seems like a good first step, no?