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

The Structure and Interpretation of Computer Programs (SICP).

About halfway through the book, they build an explicit dispatch table, and I instantly understood 1) why my C code was so crappy, and B) why C++ and OO languages miss the boat (hint: they only implement the dispatch table in one orientation)

Worth struggling through, even if you never write a line of Lisp code. It has a lot in it about nice designs, abstraction barriers, and how languages actually work.



There are few books with more eureka moments. Mine was discovering functional closures and object instances are two sides of the same coin.


I also enjoyed it, but I read it probably a bit late in my career.

I remember reading some parts and thinking "wow, if someone had explained this to me like that when I was learning". But then, I'm not completely sure what would have been my experience if SICP was my first contact with CS. I started with GWBASIC, then COBOL, then C; 1st edition already existed by then, so I could have learned with Scheme!




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

Search: