Live data from Hacker News

Ask HN: How do you read programming books?

news.ycombinator.com

41–50 of 84 posts

Re: Ask HN: How do you read programming books?

#41

I've heard studying "sinks in" when you're recalling what you learned earlier. So I spread out the reading of the book, trying to remember the next day what I'd read the previous day (before checking in the book to see how well I've remembered it). I've also heard people say that you have to learn by doing. So I try to play around with whatever I've learned from the book. Doing the examples is good, but dreaming up y…

Did you take "Learning How to Learn" by Barbara Oakley?

Re: Ask HN: How do you read programming books?

#42
Generally, cover to cover, going as quickly as I need to in order to avoid losing interest and abandoning it. This is probably not the most effective way to absorb the material. I would learn more by doing the exercises, taking notes, etc. But when I've tried to do that, I usually don't get more than a couple of chapters in before I run out of willpower.

So these days, I figure absorbing half of the whole book is better than absorbing all of only a small prefix of it.

Re: Ask HN: How do you read programming books?

#43
post #8

I learn something first by using it, applying tidbits from blogs, online tutorials, Stack Overflow and just trying to figure out how to get it to do what I want. Then I read a book on it, cover to cover. It's much easier to get everything to "click" when you've already tried to solve the relevant problems yourself. Then continue working with it, and every now and then read another book cover to cover, for important t…

This technique also makes you unlearn incorrect aspects _a posteriori_, which can help reinforce good patterns. +1.

Re: Ask HN: How do you read programming books?

#44

I have read ALL the comments below. They are ALL excellent. I have a BS in Engineering, 1976, with only Fortran IV from the card key-punch days. Ugh! Worked on a defense software program and learned JOVIAL and VAX/VMS at work and C and some Unix at home. Prior, I had read Wirth's Algorithms + Data Structures = Programs. Pascal = JOVIAL = ADA. C seemed to have the real power with access to the underlying computer via…

I find the choice of language (C++) awkward but still I'm glad you shared that, nice story.

Re: Ask HN: How do you read programming books?

#45

I've heard studying "sinks in" when you're recalling what you learned earlier. So I spread out the reading of the book, trying to remember the next day what I'd read the previous day (before checking in the book to see how well I've remembered it). I've also heard people say that you have to learn by doing. So I try to play around with whatever I've learned from the book. Doing the examples is good, but dreaming up y…

To this I'd add writing questions as you go through each chapter, then after finishing the chapter, answer the questions you come up with in as much detail as possible. This also helps force recall (and is supported by some cognitive psych studies) and, by doing so, memory consolidation. When I was TA'ing in grad school, this is a method I'd show my struggling students, and it almost invariably helped their grades.

Re: Ask HN: How do you read programming books?

#46
post #5

1) Make sure you're reading a quality book. Sturgeon's Law[1] is true -- 90% of everything is crap including programming books. Check amazon reviews, forum recommendations for consensus of quality books. (E.g. many of OReilly "Head First" series of books have cute cartoons but they actually don't have quality content.) 2) Most programming authors do not write about tradeoffs . They write about language syntax or libr…

Completely disagree on the "Headfirst books" comment. All the head first books I have read (Java, Design Patterns, Android, C, Ruby) have very high quality content. I have read great books on all these subjects along HFs. i.e. The Design Patterns Smalltalk Companion, K&R, etc. The HF books really help visualize and actually enjoy the subjects, they also have great exercises that help to cement the concepts one has ju…

I've only read Head First Design Patterns but I'd also vouch - the examples were silly but I think did a great job.

Re: Ask HN: How do you read programming books?

#47

I'm going to give away the secret of autodidactic learning here. I developed this technique in college. Although there was no such thing as YouTube back then, iTunes etc. I get at least two, preferably three data sources on the same subject. Read them all in Parallel and take notes. Getting multiple perspectives is critical. What works for me is two well-made textbooks and a Youtube series, iTunes university, etc cou…

+1 for multiple sources. I've yet to find a single source that is clear and understandable across the board. Switch between sources when a topic seems to be unusually difficult to understand. Then go back to your original, favorite source.

Note that I do not think this applies to books that simply showcase and act as a more advanced reference of programming languages. Those are normally plain enough, I think.

For others subjects, like math or CS, multiple sources have always proven invaluable for me.

Re: Ask HN: How do you read programming books?

#48

I'm going to give away the secret of autodidactic learning here. I developed this technique in college. Although there was no such thing as YouTube back then, iTunes etc. I get at least two, preferably three data sources on the same subject. Read them all in Parallel and take notes. Getting multiple perspectives is critical. What works for me is two well-made textbooks and a Youtube series, iTunes university, etc cou…

It's a tough choice to follow sometimes. I know very very well that different perspective makes a world of difference (one book left me dry for 10 years, another unlocked me in a week). But it's hard sometimes to keep progress on many fronts.

I still second your system. Makes me wanna try.

Re: Ask HN: How do you read programming books?

#49
With books that teach a language or advanced stuff about a language, like, say, C# in Depth, I read from start to finish, without actually doing any exercises or really anything else.

I trust my memory enough to rely on remembering that "C# in Depth was talking about this thing", when I run into something IRL. Then I go back to the book and see what it had to say.

Re: Ask HN: How do you read programming books?

#50

I have read ALL the comments below. They are ALL excellent. I have a BS in Engineering, 1976, with only Fortran IV from the card key-punch days. Ugh! Worked on a defense software program and learned JOVIAL and VAX/VMS at work and C and some Unix at home. Prior, I had read Wirth's Algorithms + Data Structures = Programs. Pascal = JOVIAL = ADA. C seemed to have the real power with access to the underlying computer via…

What do you mean by 'sw'?
Post reply on HN