4 ms·
I believe they are both CC-licensed. See https://sicp.sourceacademy.org/ https://sicp.sourceacademy.org/ A ton of work seems to have gone into this -- they hav
by keithwinstein 5y ago
I believe they are both CC-licensed. See https://sicp.sourceacademy.org/ https://sicp.sourceacademy.org/
A ton of work seems to have gone into this -- they have a meta-circular evaluator in JavaScript (and it's not that much longer than the original Scheme)!
- perihelions 5y agoVery respectfully disagree; but long or short, this looks really bad: list("sequence", list(list("constant_declaration", list("name", "size"), list("literal", 2)), list("binary_operator_combination", "*", list("literal", 5), list("name", "size")))) https://sourceacademy.org/sicpjs/4.1.2 https://sourceacademy.org/sicpjs/4.1.2 ("4.1.2 Metalinguistic Abstraction / Representing Components") This isn't an ideal language for doing this stuff. The Scheme version is completely transparent about what you're doing; whereas this kind of language makes you work through a thick veil of abstractions. (This line doesn't occur in the Scheme version, but the analog would be (quote (let ((size 2)) (* size 5))). Which would you rather debug?)
- gumby 5y agoI know which one I'd rather debug, but which one can a new student get started with faster? They are unlikely to already have a scheme interpreter on their computer.
- d3nj4l 5y agoIt won't take longer than 15 minutes to get racket installed, and that's being extremely conservative. If you can't spend 15 minutes getting setup done, why would you finish a dense book on the theory of computation?
- deleted 5y ago[deleted]
- cbm-vic-20 5y ago
- gumby 5y agoThe scheme version was aimed at students who might never have touched a computer before. Why should this book be different, though these days aimed at students who’d only operated a computer before.
- bitwize 5y agoWhen the Scheme version was written, all the programming languages were equally weird to incoming students. So Scheme was as good a starting point as any other. Today, Scheme is still weird, but JavaScript is familiar. It's something the incoming students are at least likely to have heard of. So it makes more sense to ease them into the material with the familiar rather than drop them into something weird.
- filoeleven 5y agoBy that logic, North Korea is a better vacation spot than Niue, since most people are at least likely to have heard of North Korea.
- filoeleven 5y ago(Just to be clear, that was intended as a friendly poke, not a scathing rebuke. I do think lisps are better suited for SICP than JS is for the reasons others have mentioned, but I’m not trying to be a jerk about it.)
- dunefox 5y agoIt's not if the familiar language obscures the central ideas.
- geofft 5y agoMaking sense of those parentheses is genuinely hard for a newcomer, too. The Scheme version is more readable to you because you already know it - anyone who's actually working through this with a class level of effort instead of skimming pages is going to spend an equal amount of time learning how to read the syntax you quoted, and they'll be fine once they do.
- hajile 5y agoJS is the WORST of both worlds. With the scheme version, you have straight-up trees to work with. With the Javascript version, you have to learn all about parsing rules and gotchas and then you STILL wind up with trees for everything.