←back to thread

284 points borski | 1 comments | | HN request time: 0.231s | source
Show context
ltbarcly3 ◴[] No.44685504[source]
When I read this I just feel like Sussman is getting out of touch and maybe a little disillusioned. From the wording he seems annoyed about the change, isn't even sure why it was made "probably because there's some library for robots", has gone from someone who would have a complete understanding of complex systems to someone who sounds more like a frustrated beginner. "Doing basic science on libraries to see how they behave" instead of grabbing the source and looking at it - he is expressing the view of someone who wants to complete their ticket in Jira without too much effort and go home for the night rather than someone with an actual curiosity and enjoyment of what they are doing.
replies(1): >>44695836 #
monkeyelite ◴[] No.44695836[source]
Can you not see that there is a philosophical difference between these two approaches and why someone might have a preference for one or the other?
replies(2): >>44696809 #>>44698139 #
ltbarcly3 ◴[] No.44696809[source]
There isn't a philosophical difference. Both are problem solving strategies. You would choose one or the other depending on goals and constraints. There isn't a 'philosophical' reason to choose one or the other.

In the end the choice wasn't made for philosophical reasons. It was made because the robot library was in Python, or so he thinks. I think this actually shows there was a strong reason to never use Scheme: it's a failed language family. Outside of academic life support and very niche uses (which are usually directly caused by the academic uses, such as Emacs lisp) scheme just doesn't exist out in the world, despite a dozen very competent and complete implementations that are still supported. This is not an invitation for lisp fan boys to stomp their feet, TIOBE doesn't have any (()())()(()) language in the top 20. Debate rankings all you want, but lisp type languages are extremely rarely used because people don't find them productive when given a choice.

replies(2): >>44698841 #>>44718773 #
so-cal-schemer ◴[] No.44718773[source]
Thank goodness! Can you imagine a world where just anybody could leap tall buildings?

https://www.paulgraham.com/rootsoflisp.html

https://www.paulgraham.com/diff.html

https://www.paulgraham.com/icad.html

replies(2): >>44751906 #>>44757250 #
so-cal-schemer ◴[] No.44751906[source]
I don't remember who said it, but the Metacircular Evaluator is the real superpower in Lisp/Scheme — even beyond writing macros. It allows you to modify the language itself in ways that are unthinkable in other languages.

Whether that is a good thing depends on you.

replies(3): >>44752878 #>>44753908 #>>44767233 #
1. so-cal-schemer ◴[] No.44767233[source]
Hal Abelson

InfiniteHistoryProject MIT (2011)

https://youtu.be/r8k8o7zkA1o?t=2532

Abelson:

But Fano did say the key thing. So I talked about what you're doing is making a language and how you make languages to make languages. The technical term for that is an interpreter. So an interpreter is something that effectively takes the description of a language and lets the computer effectively speak that language. And Fano was very-- I mean he would say this in his lectures. I don't think any of the students got it. I didn't get it until like the third time through, where he sort of said the really, really key thing is that you build up complexity by constructing an interpreter. And again, that's the core idea of 6.001, said in a slightly different way.