Live data from Hacker News

Structure and Interpretation of Computer Programs – JavaScript Adaptation

sicp.comp.nus.edu.sg

11–20 of 188 posts

Re: Structure and Interpretation of Computer Programs – JavaScript Adaptation

#11
post #3

There's kind of a reason why SICP was written in Scheme in mind and not a blub language...

what a stupid comment. why is modern javascript a blub language? and what does it matter anyway? the concepts are the same.

Any language can be a blub language, assuming we are referring to the same thing here: https://en.wikipedia.org/wiki/Paul_Graham_(programmer)#Blub

Re: Structure and Interpretation of Computer Programs – JavaScript Adaptation

#13
post #3

There's kind of a reason why SICP was written in Scheme in mind and not a blub language...

Were you going to let the rest of us mere mortals in on the reason? I think it's good to offer a version of SICP adapted to a language that's used today very prominently and is relevant to many current jobs in the industry.

[deleted]

Re: Structure and Interpretation of Computer Programs – JavaScript Adaptation

#15
post #14
post #3

There's kind of a reason why SICP was written in Scheme in mind and not a blub language...

So you won't allow "Lisp in C's clothing"? https://www.crockford.com/javascript/javascript.html

If you’ve read SICP and saw how the abstractions were slowly layered on top of each other which scheme is amazing for with its simplicity - no I don’t think a weird prototypal language like JS is sufficiently like scheme enough to communicate the beauty of programming like SICP does.

And I write JS for a living.

Re: Structure and Interpretation of Computer Programs – JavaScript Adaptation

#16
post #14
post #3

There's kind of a reason why SICP was written in Scheme in mind and not a blub language...

So you won't allow "Lisp in C's clothing"? https://www.crockford.com/javascript/javascript.html

rebuttal https://journal.stuffwithstuff.com/2013/07/18/javascript-isn...

although I don't necessarily agree that JavaScript is so minimal anymore.

Re: Structure and Interpretation of Computer Programs – JavaScript Adaptation

#19
post #3

There's kind of a reason why SICP was written in Scheme in mind and not a blub language...

Were you going to let the rest of us mere mortals in on the reason? I think it's good to offer a version of SICP adapted to a language that's used today very prominently and is relevant to many current jobs in the industry.

> Were you going to let the rest of us mere mortals in on the reason?

Scheme (in contrast to Java etc) is special because of its very easy syntax and how it is evaluated. Since SICP is about syntax/structure and its evaluation/interpretation you should really stick to lisp.

> I think it's good to offer a version of SICP adapted to a language that's used today very prominently and is relevant to many current jobs in the industry.

I don't. Maybe this Javascript-Version is also a great book, but if you don't know scheme/lisp and wonder why scheme is a better choice for SICP I encourage you to read the original.

Re: Structure and Interpretation of Computer Programs – JavaScript Adaptation

#20
post #3

There's kind of a reason why SICP was written in Scheme in mind and not a blub language...

Were you going to let the rest of us mere mortals in on the reason? I think it's good to offer a version of SICP adapted to a language that's used today very prominently and is relevant to many current jobs in the industry.

A long essay could be written about that. A few quick things. There's Scheme's simple syntax, which doesn't get in the way of what the book is actually teaching. The fact that, of the mainstream programming languages, Javascript is the most crufty and full of gotchas, with all kinds of weird, unexpected behaviours even experienced developers can't always keep track of, many caused by bugs in the first version. Javascript's tendency to fail quietly when other languages would shoot out error messages makes it an awful language to experiment and play around in. Javascript Stockholm Syndrome. Decades of tradition. The entire last section of the book's intimate relationship with Scheme.

The fact that this is a book about learning to program, not about maximizing your potential for jobs. It's a compsci book to learn to be a good programmer, not a book about synergizing industry trends to build your resume.

When SICP was written, most people still wrote in Assembly for most things but COBOL, ADA, and old-school FORTRAN were also popular. Part of the longevity of the book is its appropriate choice of language.

Would it be as enlightening to write a series of JS compilers in JS? Or are they writing Lisp compilers in JS? Doesn't that miss the entire point of the book?

Post reply on HN