4 ms·
Hrmm.. Maybe, maybe not. I'm certainly not making the argument that you shouldn't read, if anything, my argument there is don't attend university if your profe
by nicpottier 15y ago
Hrmm.. Maybe, maybe not. I'm certainly not making the argument that you shouldn't read, if anything, my argument there is don't attend university if your professors have no idea what they are teaching, which is the case here.
Obviously, those who write books usually have a pretty good idea of what they are talking about, so gaining knowledge from them is a great strategy.
And yes, there is a belief here in Rwanda that you can learn CS by ONLY reading books.
But to your point, I'm not sure why you rank books so highly, when in isolation they clearly aren't enough. The average student probably won't grock worse case runtimes by only reading about them. Having a lecturer explain it and give examples will help, but actually implementing some sorts and seeing how fast they run on different size data sets is really what is going to drive it home.
But for a great many programming jobs, I would actually make the argument that you COULD do them without reading a single book. Granted you probably won't be building the next map-reduce, but you can still be effective.
Learning how to find solutions online, read documentation (does that count as a book?), and debug, as well as fundamental algorithms are the big skills.
- enry_straker 15y agoI beg to differ. When one first starts out, it's ok to just sit in front of an interpreter or a compiler and start trying out small programs, make mistakes, learn from them and go on. But one vital quality of good developers is being able to read code, understand good code, borrow good coding habits and using them in your work. Many excellent books are available where what shines through the pages is the author's experience in writing good code, explaining the logic of how he or she arrived at it, and then solving small problems which might come as exercies at the end. University degrees, learning on the job, etc will only get you so far ahead, but to leap ahead in your productivity, it's best to learn from the real giants in the field. Programming is a field that constantly changes. Reading, Applying, and learning new skills, and new techniques is part of the skill-set needed to survive. Great books are a complement to hands-on experimentation in this regard and cannot be over estimated as more and more learning is often self-learning since it's difficult to always find good mentors.
- nicpottier 15y agoI don't think we disagree. I didn't say you were likely to become a GREAT programmer without reading, or even that it is far easier with formal training from competent teachers. My point, rather, was to say that for a great many jobs, jobs that most of us here on HN might turn our nose up at, but programming jobs nonetheless, you can survive without that reading. I would even go on to say that the vast majority of programmers out there doing the job day to day, perfectly adequately no less, have never read any of the tomes we hold so dear. Could they be more effective if they had? Sure. Could their processes be improved? Absolutely. And I'd be the first to say they should. I do want to live in a utopian world where everybody reads HN, cares about worst case runtime and stresses over the density and color of their code. But realistically, as in any other field, only a small fraction of people are interested in learning their field to that degree, and the rest are perfectly fine being (merely?) adequate. That's ok because there are a great many jobs perfectly suited for them. But again, the point of the article is not how to create the next K&R. My goals are much simpler, much more modest. I just want functional programmers, at the basest level. And as you said, at the beginning, there is just not substitute for time in front of a keyboard.