Hacker News new | ask | show | jobs
by acqq 2375 days ago
Still, to quote Bob Nystrom again:

"to be fair, it does have some stuff in common. So maybe it’s a fair comparison? I guess the real way to tell would be to compare Scheme to some other languages. The big feature that everyone harps on is closures. Maybe just having closures means you’re basically Scheme.

If that’s true, then C#, Lua, D, Erlang, Haskell, PHP, Scala, Go, Objective-C, Python, Ruby, and Smalltalk are basically Scheme. In other words, if JavaScript is Scheme by that criteria, then every language is Scheme, which of course means none of them are."

Just to add, Perl has closures too:

https://www.perlmonks.org/?node_id=690

and to quote again:

"This is why the “JS = Scheme” meme drives me crazy: it makes us dumber. It’s a thought-terminating cliché. It carries negative informational content and makes people actually know less about languages than they did before."

1 comments

Hey, I'm not claiming that JS is Scheme, or that Scheme is defined by closures :-)

My personal "What makes Scheme, Scheme" predates current Scheme implementations by decades. But I go with, "There are five special forms that are essentially axioms of the language, and everything else is made by combining those forms with each other."

The deep elegance of building a rich language on top of a handful of axiomatic features is what makes Scheme feel Scheme-ish to me.

I understand that Scheme has evolved since everything was implemented in terms of the special forms, but still...