Live data from Hacker News

Beautiful Online SICP

sarabander.github.io

61–70 of 82 posts

Re: Beautiful Online SICP

#61
post #51

My biggest issue with SICP was the lack of available unit tests for the exercises. I'd often "get it wrong" and have no recourse but to read a solution to see that I'd failed to account for some aspect of the problem. Without an easily verifiable way to test your solutions as you go I think these kinds of books really do themselves a disservice as you lose the ability to struggle and think hard about the problem if y…

Ideally, it would actually include guidance on a good way to write the automated tests yourself after the first few.

Re: Beautiful Online SICP

#62
Loved the Third Addendum bit:

"Third Addendum: Things go in spirals. We explored the powers of Texinfo and LaTeX at typesetting the PDF book. Now it’s time to come back to HTML. This turn it shall be HTML5. “It can be a dangerous place, but it’s our last, best hope for peace.” (Sinclair, Babylon 5.)"

Re: Beautiful Online SICP

#64
post #36

Earlier quoted context omitted.

Because so many of us learn imperative programming first, then find functional a big shift, I think we forget that everyone learns maths, which has no mutable state in the traditional maths classroom written style, and so functional actually resonates pretty well with people who have never touched programming at all, provided they've been exposed to enough maths.

The weakness to this approach is that learning the functional approach is all well and good but you can't learn this at the expense of learning what the machine does. Learning a traditional ALGOL like C exposes you to memory access, the stack pointer, and other such concepts. You're also a small hop away from assembly where you learn about RISC/CISC architectures, CPU caches, etc. I wish there was a book as popular a…

All of that comes in but I think it is better to introduce an overview of what a computer can do and later explain how it is done. Motivation has a great influence of how well you can learn something. Swamping people with technicalities is a great way to lose them.

Re: Beautiful Online SICP

#65
post #47
post #8

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…

> you can use a TexInfo version of SICP and have both the text and your REPL in Emacs Or have it all in your browser (every code block is a REPL; CTRL-Enter to run): https://xuanji.appspot.com/isicp

Woah, yeah I think this is a solid approach. You can remove all distractions and just work on the one page and focus on only the task at hand rather than worrying about dealing with your own setup and can be accessed anywhere.

Re: Beautiful Online SICP

#66
post #36

Earlier quoted context omitted.

Because so many of us learn imperative programming first, then find functional a big shift, I think we forget that everyone learns maths, which has no mutable state in the traditional maths classroom written style, and so functional actually resonates pretty well with people who have never touched programming at all, provided they've been exposed to enough maths.

The weakness to this approach is that learning the functional approach is all well and good but you can't learn this at the expense of learning what the machine does. Learning a traditional ALGOL like C exposes you to memory access, the stack pointer, and other such concepts. You're also a small hop away from assembly where you learn about RISC/CISC architectures, CPU caches, etc. I wish there was a book as popular a…

Chapter 5 of SICP actually goes into the details of how to implement a register machine to execute Scheme, including a simulator, assembler and compiler.

Re: Beautiful Online SICP

#67

I've just skimmed through the first couple of pages, but didnt find anything about which lisp to use/howto. Any ideas?

You can use Racket, they recently introduced a new language pragma (#lang sicp) that includes all necessary functions.

Re: Beautiful Online SICP

#68
post #42

Earlier quoted context omitted.

I guess racket is where the development continues for the scheme language. http://racket-lang.org/

There are a few: Gambit, Chicken-Scheme, Chez-Scheme, and Racket. Racket is starting to purposely diverge though like Pharo is to Smalltalk.

Racket has official support for R5RS and R6RS, and unofficial support for R7RS-S. So you can program in scheme in with the Racket environment too.

Re: Beautiful Online SICP

#69

This is incredibly beautiful. I wish all technical writing online could be so well presented - I'm tired of trying to read two-column journal-formatted PDFs on my phone.

Anxiously awaiting an iPad Pro (the big 'un) refresh and a bit of time to save up so I can use it for reading PDFs.

Re: Beautiful Online SICP

#70
Try reading SICP not for the sake of becoming a better programmer or learning some applicable skills. Do it for the sake of having fun. You'll get everything else as a bonus.
Post reply on HN