Live data from Hacker News

Why MIT switched from Scheme to Python (2009)

wisdomandwonder.com

211–220 of 249 posts

Re: Why MIT switched from Scheme to Python (2009)

#211

Earlier quoted context omitted.

But this is the problem. Our premier academic institutions shouldn’t merely exist as job training programs for big tech. If anything, tech is still one of the better off fields in the university. Look at history or literature programs for where this is heading. I’d imagine that most literature majors don’t even read at all these days. As recent as 50 years ago, the requirement involved hundreds of pages of reading pe…

[flagged]

I understand your feelings about this but on HN we still need you to follow the guidelines, which include avoiding uppercase for emphasis and avoiding personal swipes like this:

> I'm laughing at your naive take

https://news.ycombinator.com/newsguidelines.html

Re: Why MIT switched from Scheme to Python (2009)

#213

This story has been reposted many times, and I think GJS's remarks (as recorded by Andy Wingo) are super-interesting as always, but this is really not a great account of "why MIT switched from Scheme to Python." Source: I worked with GJS (I also know Alexey and have met Andy Wingo), and I took 6.001, my current research still has us referring to SICP on a regular basis, and in 2006 Kaijen Hsiao and I were the TAs for…

https://www.codeandcoffee.dev/

We've had a SICP discussion/reading group running for a few months. [Sundays at 3pm Pacific]

Currently we are looking at §4.4 — Logic Programming. [0]

Includes the book's stream based implementation of a pattern-matcher and unification (properly in scheme).

Looking at connections to Hindley–Milner.

see also: miniKanren, The Reasoned Schemer, @will_byrd

[0]: https://sarabander.github.io/sicp/html/4_002e4.xhtml#g_t4_00...

Re: Why MIT switched from Scheme to Python (2009)

#214

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 the…

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?

[deleted]

Re: Why MIT switched from Scheme to Python (2009)

#215
post #166

Earlier quoted context omitted.

> Whereas Python is excellent for teaching applied computer engineering, because it's essentially executable pseudocode for imperative languages It's not that simple, Python is a fiddly, complex, high-level language that has accreted features in a very ad-hoc way. This makes it very hard to teach and learn in a way that's expected to pay even the most cursory attention to actual rigor. You could probably define a Bab…

> You could probably define a Baby Python subset of the language that's just as simple and rigorously defined as Scheme and teach that Pyret https://pyret.org/ started out with more or less that ambition I think. IIRC its author had previously tried to work with Python (and its dev team) but gave up.

I had a Twitter exchange with the author a few days ago on these topics.

My approach is to do what pyret was trying to do while maintaining the python syntax (with minimal deviation where necessary).

Making Python look more like Rust has a lot of support and could correct some of the his historical "injustice" :)

Because of the strong support for keeping python as an approachable imperative language, this will unfortunately require forking.

Re: Why MIT switched from Scheme to Python (2009)

#216

Earlier quoted context omitted.

They’re not directly comparable because programming languages are much simpler and much easier to learn. Becoming a good programmer is hard, but that’s not due to difficulty of learning a programming language. Once you’re a good programmer, new languages are easy. A decent programmer should be able to do something useful in a new language in a week or less, and be reasonably competent in a month or two. See how long…

> Once you’re a good programmer, new languages are easy. Not always. Languages can differ radically. If the new language uses concepts you've never encountered before, you're going to need to do the work of learning those new concepts. An example I've used before: 20 years writing C code for embedded systems won't give you any insight into Haskell's applicatives or monads.

I bet that C programmer will still learn Haskell way faster than someone with no programming experience, and way faster than just about anyone will learn a human language.

Re: Why MIT switched from Scheme to Python (2009)

#217

Earlier quoted context omitted.

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?

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…

> There isn't a philosophical difference.

I think that’s key to understanding the issue, so I guess the conversation is over.

Re: Why MIT switched from Scheme to Python (2009)

#218

This story has been reposted many times, and I think GJS's remarks (as recorded by Andy Wingo) are super-interesting as always, but this is really not a great account of "why MIT switched from Scheme to Python." Source: I worked with GJS (I also know Alexey and have met Andy Wingo), and I took 6.001, my current research still has us referring to SICP on a regular basis, and in 2006 Kaijen Hsiao and I were the TAs for…

"And why Python, then? Well, said Sussman, it probably just had a library already implemented for the robotics interface, that was all." I was from the same "Nouvelle AI"/Robotics cohort as Leslie Kaelbling. Autonomous Robotics in AI back then was a fairly small community, so everyone (at least in the nato and friends) knew each other from conferences and workshops. Having written kernel and interface libraries for t…

But the industry standard in those times (and still) is to use the graphical-only world of Matlab Simulink, so you cannot make any syntax, type and API errors. Thanksfully MIT decided against that.

Re: Why MIT switched from Scheme to Python (2009)

#219
post #211

Earlier quoted context omitted.

[flagged]

I understand your feelings about this but on HN we still need you to follow the guidelines, which include avoiding uppercase for emphasis and avoiding personal swipes like this: > I'm laughing at your naive take https://news.ycombinator.com/newsguidelines.html

What's more interesting is that it's their second account, because the previous one was banned. What's HN policy on ban evasion?

Previous account: https://news.ycombinator.com/user?id=oldpersonintx

Re: Why MIT switched from Scheme to Python (2009)

#220

Earlier quoted context omitted.

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…

> There isn't a philosophical difference. I think that’s key to understanding the issue, so I guess the conversation is over.

Sorry, you're right. Let me clarify my response. "There isn't a philosophical difference addressed in the linked article"

There is clearly a pedagogical/philosophical difference, and that is usually what is used to justify using Scheme.

Post reply on HN