Live data from Hacker News

Structure and Interpretation of Computer Programs – JavaScript Adaptation

sicp.comp.nus.edu.sg

21–30 of 188 posts

Re: Structure and Interpretation of Computer Programs – JavaScript Adaptation

#23
post #3

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

Of course SICP is brilliant in Scheme. But hello? There is no such thing as a “blub language.” Your comment misrepresents the entire point of the original PG essay!

The point is that givens some fictional language called “Blub” for the sake of the essay, some programmers believe that their language has everything that could possibly be useful, productive, expressive, &c.

But PG’s contention that languages exist on a continuum of power (a gross oversimplification), and when a programmer believes that their “Blub” is as powerful as possible, they have closed their mind to more powerful/useful/expressive ideas.

But that’s as true of Scheme as it is of JS: If someone believes that LISP was the zenith of programming, and everything else since then has just been wankery, if they think we have nothing to learn from Haskell, or Julia, or Joy... Then for them, Scheme is Blub.

Blub is a mindset, not a language. Sure, some communities might be infested with Blub programmers, but nevertheless, languages themselves are not Blub.

Now, if someone says that SICP in JS proves that Scheme is no better than JS, well... That person has a Blub mindset. But teaching some of the same principles as SICP using JS is not in and of itself the Blub mindset.

Summary:

Blub is a mindset, not a language.

All languages are Blub languages if someone has the Blub mindset.

SICP in JS in-and-of-itself is not Blub.

JS in-and-of-itself is not Blub.

Re: Structure and Interpretation of Computer Programs – JavaScript Adaptation

#24
post #3

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

Of course SICP is brilliant in Scheme. But hello? There is no such thing as a “blub language.” Your comment misrepresents the entire point of the original PG essay! The point is that givens some fictional language called “Blub” for the sake of the essay, some programmers believe that their language has everything that could possibly be useful, productive, expressive, &c. But PG’s contention that languages exist on a…

The nadir is the low point, the antonym of zenith.

Re: Structure and Interpretation of Computer Programs – JavaScript Adaptation

#25
post #3

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

“There are only two kinds of languages: the ones people complain about and the ones nobody uses.” ― Bjarne Stroustrup

Re: Structure and Interpretation of Computer Programs – JavaScript Adaptation

#26
post #14

Earlier quoted context omitted.

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.

I really enjoyed reading it! A small sample:

About JavaScript features:

“Don’t tell me it’s got lexical scope, because JavaScript’s scoping is an abomination in the face of God. Guy Steele isn’t even dead and JS scope makes him pre-emptively roll in his not-yet-occupied grave. Likewise, claiming JS is homoiconic because you can eval strings of code is nonsense. If that’s the only criteria for homoiconicity, then C is too, since you can treat an array of bytes as code and jump to it.”

Wonderful.

Re: Structure and Interpretation of Computer Programs – JavaScript Adaptation

#28
I skimmed through the book and think I saw a function declared inside an if-statement. Some JS engines don't like that. And if the engine does support it, the function will be function scoped. To make an if-scoped function, declare it using const f = x => y,

nitpick: I personally prefer to use intermediate variables instead of nested function calls and ternary operator.

Re: Structure and Interpretation of Computer Programs – JavaScript Adaptation

#29
post #3

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

“There are only two kinds of languages: the ones people complain about and the ones nobody uses.” ― Bjarne Stroustrup

There is also this: https://en.wikipedia.org/wiki/False_dilemma

- Wikipedia

Re: Structure and Interpretation of Computer Programs – JavaScript Adaptation

#30

Earlier quoted context omitted.

Of course SICP is brilliant in Scheme. But hello? There is no such thing as a “blub language.” Your comment misrepresents the entire point of the original PG essay! The point is that givens some fictional language called “Blub” for the sake of the essay, some programmers believe that their language has everything that could possibly be useful, productive, expressive, &c. But PG’s contention that languages exist on a…

The nadir is the low point, the antonym of zenith.

Thanks!
Post reply on HN