2 ms·
I read SICP when I was learning to code a few years ago, and for me it was a life changing / transformative book. I remember the feeling of what you're describi
by LEDThereBeLight 5y ago
I read SICP when I was learning to code a few years ago, and for me it was a life changing / transformative book. I remember the feeling of what you're describing exactly. It's humbling to work through. But it is worth it. My ability to think recursively, solve problems, and understand and pick up new programming languages is leagues above where it would be otherwise.
I have two suggestions.
The first is, if you haven't realized this already, don't struggle with the problems. Think about them for a few minutes, and if you can't solve them, look up the answer and try to understand it. A few days later, try it again. After a few times, you'll automatically be able to solve the problem, and wonder why you thought it was so hard. After enough problems, your knowledge will sort of magically generalize.
The second is, while I love the book, a lot of its explanations of concepts are very flawed, and can make anyone feel like an idiot not because the concepts are hard, but just because of the language used. That's because a lot of the ideas in the book are self-referential, so they're hard to explain in a linear book. And rather than give ambiguous explanations the authors try to be very precise, but that means using specific words you may not have the background yet to understand. Once you work through more of the book, you'll have the context to go back and actually understand what the hell they were talking about in the first few chapters. So on your first read-through, I wouldn't sweat understanding everything, just try to get some of the high level ideas. Then read it again with more context and it will feel much easier to actually understand the details. I'm glad I didn't take the course at MIT, because I wouldn't have been able to do this, but I think it is really the key to understanding the content.