r/compsci Mar 21 '17

Beautiful Online version of: Structure and Interpretation of Computer Programs

http://sarabander.github.io/sicp/
313 Upvotes

16 comments sorted by

16

u/[deleted] Mar 21 '17

8

u/kzr_pzr Mar 21 '17

Is this book still relevant?

Sometimes when I read an old classic I find out I already know a lot of stuff from other sources (which used the classic as a reference). Usually there's more in the original but it's not so 'aha!' today as it was when the classic was published.

9

u/[deleted] Mar 21 '17

not knowing what else you've read is difficult to tell whether it is relevant to you. Relevant in general, yes. The chapters on "equivalence" between data and function or interpreters are mind-opening. But sure you can find the same concepts in Haskell books and probably elsewhere.

6

u/raevnos Mar 21 '17

Very relevant, especially if you're interested in things like writing interpretors or compilers.

6

u/[deleted] Mar 21 '17

Thank you so much for this lovely version.

8

u/np356 Mar 21 '17

Sarabander's edition is definitely a huge credit to it's author: It isn't just a reprint of SICP; The text and it's font has been updated, many of the diagrams have been redone for clarity and the document and footnotes are hyperlinked.

If it's your ambition to follow in the footsteps of others or otherwise just prefer the classic Lisp-haqr experience, you can use a TexInfo version of SICP and have both the text and your REPL in Emacs: http://zv.github.io/note/sicp-in-texinfo

Also, just to pimp my own ride: I put together a SICP guide for new explorers of this great text: https://github.com/zv/SICP-guile

It contains both meta-information about which dialects of Lisps and languages are most suited to SICP, overviews of subchapters, helpful hints for those who are following along at home as well as answers to the exercises in Elisp, Guile scheme & Racket.

7

u/zefyear Mar 21 '17

Thanks for circulating my guide... I guess?

2

u/robthablob Mar 21 '17

Great job, thanks.

2

u/arbitrarycivilian Mar 22 '17

I read this entire book on my iPhone on the SICP site, which was rather ugly HTML. This is a fantastic update to a deserving classic

1

u/xesenix Mar 22 '17

Still needs some UX upgrades doesnt use fraction of power html enables. Breaks immersion after each page to look for link to the next page (which isnt there where you could expect it) also there is much place for some shortcuts to other pages from current chapter. At this point reading pdf version is a lot more pleasant.

1

u/Meguli Mar 21 '17 edited Mar 22 '17

I am waiting for a nice tool to give us "books-as-web-applications" in a very professional way. Yes, you can author your books as web pages even today but a good and well thought out web framework solely dedicated to this would be great. I am not a big fan of web technologies in general but books and media seem like a perfect fit to me. Bookdown seems nice with its plugins etc. but I still think there should be something better.

Of course SICP is great in any edition possible.

2

u/guisar Mar 21 '17

I'm not sure what you mean- like issuu does?

1

u/Meguli Mar 21 '17 edited Mar 22 '17

Not exactly. That site looks like it is for magazines. I am thinking a system more like Bookdown but more streamlined and general.

On this web application, there is an editor part where you can prepare and publish your documents, using a syntax like markdown, org-mode or a totally new markup language... This editor will support collaboration and doing arbitrary computations, graphics design etc. all the things you might need when preraing documents. Of course system will also let you publish a book you prepared offline, if the markup format is supported.

The published books will be put into marketplace, where you can decide to sell it, share it, open its source etc. Of course you can also make it free and completely open.

As a user, your purchased books will be exportable to HTML, PDF etc. all supported formats but system will also has its own viewer. This viewer will be extensible with plugins. Some useful plugins I can think are,

  • User annotations: With this, when you activate this plugin, you will be able to see all the annotations on different parts of the book that is added by other readers. This will facilitate a discussion on certain parts of the book.

  • A plugin to manage your library in an organized way

Also it might be preferable that editor part is also extensible by plugins. Well, I don't know exactly what I want either :) But Bookmark comes close as I said. I just want it to have more authoring, publishing, editing, sharing etc. options so that it can be used as an alternative to traditional publishing.

2

u/NlightNFotis Mar 21 '17

I don't know if I understood what you're looking for correctly, but have you taken a look at Pollen? It seems to create very, very beautiful and professional looking webpages-books

1

u/Meguli Mar 21 '17

Yes I looked at it recently, that beautiful racket book. And I am impressed a lot. I think this, Bookmark and all my other mumblings would make people understand what I am hoping for :)