6 ms·
This book gives you a coherent view of computation. It's not just a turing machine that keeps munching instructions. I think this book takes a more dataflow-cen
by euske 8y ago
This book gives you a coherent view of computation. It's not just a turing machine that keeps munching instructions. I think this book takes a more dataflow-centric approach. Some people would love it, and I agree this is a good introduction for early CS students. It is focused and compact. That said, I think the enthusiasm surrounding this book is a little bit cult-like. Reading this book doesn't necessarily make you a good programmer, because being a good programmer requires much, much more than having a good understanding of computation. And when you disregard the practical aspect of programming, people will probably find you a bit pedantic.
- TeMPOraL 8y ago> That said, I think the enthusiasm surrounding this book is a little bit cult-like. Reading this book doesn't necessarily make you a good programmer, because being a good programmer requires much, much more than having a good understanding of computation. The usual assertion is that it makes you a better programmer, not that it makes you a good one. The reasoning behind this is that the book is pretty unique in giving you practical fundamentals of programming, in a way you wouldn't be exposed to completely elsewhere (especially if all you've learned so far is modern OOP). I'd say it's important today more than ever, given the increasing amount of programmers emerging out of bootcamps.
- tlrobinson 8y ago> Reading this book doesn't necessarily make you a good programmer I don't think I've seen anyone claim SICP will make you a "good" programmer. I have seem people claim it will make a good programmer better, though.
- olavk 8y agoI you have finished SICP (including exercises) I will posit you must be a pretty decent programmer. (Which is not necessarily the same as a good developer, but that is a different discussion.)
- braythwayt 8y agoThe cliché observation is that "correlation does not equal causation." It's interesting to think about that: Given that you have to choose to read SICP, and chosen to work your way through it, including choosing to use Scheme instead of whatever is popular today and so forth, and given that SICP is unlikely to get you a job ("Oh, you read SICP? You're hired, you awesome hacker!"), is it possible that you already have certain qualities that correlate with being a pretty decent programmer? I mean, it's not like reading SICP is free. You're choosing to read it when you could be reading something just as informative and considerably more practical. So are you already a pretty decent programmer? Going down this rabbit-hole of reasoning, I also wonder, "If you're reading about SICP on Hacker News and decide to read SICP because it sounds interesting, are you a different kind of person than if you decide to read SICP because there seems to be a strong social signal around being a decent programmer if you read SICP? Those two motivations are obviously not the same. And now I'm trying to remember why I read SICP way back when. I'd like to flatter myself that I was intellectually curious and read it for its own sake, but to be transparently candid, I'm not so sure I wasn't trying to be like the kind of people I admired at the time.
- olavk 8y agoBut wasn't it used for introductory CS courses? Perhaps someone can chime in about how it worked.
- braythwayt 8y agoIt was used for introductory courses at MIT, but no longer. If we look st those who took it as a course, we have to consider that they are already taking a CS course, and at MIT, no less. Once again, correlation? Or causation?
- zaptheimpaler 8y agoMy guess - In the short term, those who read it based on signaling value (the "pretenders") will be worse programmers than those who read it purely for fun ("the originals"). But in the long term, action matters more than intent. Those who kept "pretending" and kept learning (no matter the reason) will be just as good or better.