Live data from Hacker News

Beautiful Online SICP

sarabander.github.io

41–50 of 82 posts

Re: Beautiful Online SICP

#41

Unpopular opinion but having read this book, I think it's a "good" text that is a bit blown out of proportion in terms of how good it is. I'm curious for people that endorse to such a magnanimous degree what other literature they've read and what aspects of SICP in particular they find so superior.

I read the book for the first time later in my career and for me the chapter 4 about metacircular evaluator combined with the video lectures was and still is mind blowing. When I was a freshman I was learning to do for loops with Java when SICP teaches how to create your own programming language...

Re: Beautiful Online SICP

#42

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

It's a lisp dialect form the MIT called scheme. You can find more information here: https://www.gnu.org/software/mit-scheme/

I guess racket is where the development continues for the scheme language.

http://racket-lang.org/

Re: Beautiful Online SICP

#43
post #41

Unpopular opinion but having read this book, I think it's a "good" text that is a bit blown out of proportion in terms of how good it is. I'm curious for people that endorse to such a magnanimous degree what other literature they've read and what aspects of SICP in particular they find so superior.

I read the book for the first time later in my career and for me the chapter 4 about metacircular evaluator combined with the video lectures was and still is mind blowing. When I was a freshman I was learning to do for loops with Java when SICP teaches how to create your own programming language...

The insight that "code is data" and should be viewed as such is very well treated by lots of literature/languages. Tons of languages support "eval" and building an AST is really not that difficult. I think SICP might be a popular entrypoint to interpreters but probably not the best.

Re: Beautiful Online SICP

#44
post #36
post #34

Earlier quoted context omitted.

At my university the introductory programming was taught using scheme and I found it weird at first as I knew the more traditional approaches (personally I have taught myself programming first in Basic and Pascal). Later I have been assisting a professor during python classes and I have come to appreciate the benefits of a purely functional language for introductions (our teachers have strategically chosen not to tal…

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 as SICP that people would read so that the understanding of what the hardware is doing is better across the industry.

Re: Beautiful Online SICP

#45

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

There is a package that you can use with Racket: http://docs.racket-lang.org/sicp-manual/index.html

In order to use this, you will need to install Racket first: http://racket-lang.org/

Re: Beautiful Online SICP

#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

Re: Beautiful Online SICP

#49
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…

I think the book shown with nand2tetris (maybe called the elements of computing) is pretty good going from logic gates to building Tetris. Also "CODE" and "Computer Architecture with the Raspberry Pi" are great.

Re: Beautiful Online SICP

#50
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

Info is an awesome format but sadly is very well underappreciated.
Post reply on HN