This is really the death knell of SICP isn't it?
This is really the death knell of SICP isn't it?
I'm using SICP for self-learning and I had the choice of Scheme, JS, or Python. I still chose Scheme.
This is because I figured Scheme would offer something those other languages didn't since Scheme is the original language of the book and Scheme is just "different" than other languages. It forces you to think differently about programming.
I'm glad I chose Scheme. SICP with Scheme is the best choice imo since Scheme most clearly illustrates the lessons of the book.
Even having them ship it to you will probably be cheaper than that CAD price. It's unfortunate the price has shot up so much, I guess I'll be taking very good care of my hardback edition.
https://mitp-content-server.mit.edu/books/content/sectbyfn/b...
Used books are awesome. I have north of 500 books and I doubt more than 50 were purchased new. Only that many because some of my relatives want Christmas and birthday wishlists every year, but won't shop anywhere but Amazon and think it's weird to buy someone a used book as a gift (I'd rather have 2-3x as many books for the same money, but hey, I'm not the one paying, so whatever, I guess).
I still believe there is room for SICP in the CS curriculum. While as an introductory language SICP and Scheme may lose out to more commercially popular languages like Python and Java, I still believe that eventually students should be exposed to Scheme as an introduction to functional programming and to demonstrate a minimal, highly flexible language as a vehicle for teaching programming language design and implementation. Then eventually the students can be introduced to the world of statically-typed functional programming languages like the ML family and Haskell.
Sure you can use a spectrum scan or the output of a radio telescope, but it's really not the same as looking at in a telescope.
Same thing here -- SICP just isn't the same if it's not in scheme or lisp.
So then astronomy is about telescopes...?
I'm happy to accept SICP is intimately related to lisp (which means it is less general than people claim) but just as long as we're consistent.
No? I never said that. SICP teaches concepts, those concepts are better understood with lisp.
Astronomy teaches concepts, those concepts are better understood with telescopes.
In neither case is the subject about the tool, it's just better understood with the tool.
>Same thing here -- SICP just isn't the same if it's not in scheme or lisp.
That straight up reads like SICP and lisp are inseparable and that exactly means that SICP is not as general as people claim.
What we have here is unstoppable force meets immovable object (otherwise known as a contradiction). The resolution is simple: either SICP is valuable for the ideas, in which case renderings in js or python are fine, or SICP's value is diminished without lisp, in which case it's not actually about ideas but about the language of choice.
Can't have it both ways.
You can use other tools to understand it, but it will be more work and you won't understand it as well.
Just like you could use a screwdriver to drive a nail into a board. But it will be easier and better understood if you use a hammer. The nail provides the same value either way.
They are separable, but there is a loss of elegance.
For example Scheme has linked lists and symbols built-in in an elegant way. The JavaScript version tries to provide them, but in a clunky way. Symbols are replaced by strings and the (a b c) notation of Scheme looks as ["a", ["b", ["c", null]]] or list("a" "b" "c") in the JavaScript version.
That a text may make use of the language it is written in, that should not be surprising. Thus the language shapes what and how it is said.