Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I've found that sometimes, but have also found the opposite, where 30 minutes of reading has cleared up many, many hours of confusion borne of experience. Most often it takes the form of: 1) run into variants of some minor difficulty on and off, develop a solution or workaround; 2) run into another edge case that breaks my solution, patch it, start wondering if this problem is more subtle than I'd first thought; 3) try to determine if what I'm doing is an instance of something more general that has a name; 4) finally find a chapter in Knuth that exactly explains why I've had the problems I've had, in addition to giving me a solution that covers a more general case I hadn't even run into yet.

(On the other hand, having run into the problem in various forms 'irl' probably did make reading the description/solution in Knuth more intelligible and well motivated, compared to if I had just sat down and read every one of his books first.)



"On the other hand, having run into the problem in various forms 'irl' probably did make reading the description/solution in Knuth more intelligible and well motivated, compared to if I had just sat down and read every one of his books first."

That's definitely the case for me. I find that I don't have the internal motivation to sit down and read a lot about a given subject until I've been faced with some real- world problem that turns out to be really hard without more knowledge of that subject.


I like to speed read/scan books like Knuth's just so I have some mental map of what's in them, even if I don't grok it right away. That way when I do hit a problem I'm working on, I'm more likely to remember I saw it already solved in a book somewhere.

In fact, I just assume from the start that every single problem I face in programming, no matter how large or small, has already been found and solved by someone else, and written about in a book or posted about on the internet. It's not like I'm trying to create real AI or prove P=NP or anything, just building apps.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: