Live data from Hacker News

Why MIT switched from Scheme to Python (2009)

wisdomandwonder.com

11–20 of 249 posts

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

#11
I was one of the last batches of students on the old Scheme curriculum. I absolutely loved it! Understanding that all loops could be done via recursion, and what a side effect is, is what fundamentally made me fall in love with CS. I've heard good things about the new, and now newer, curriculum but I know I wouldn't have had the awakening I did if it weren't for scheme.

RIP SICP

---

ps another fun story: we had some test where we were allowed to bring in 1 page of reference notes. And turns out the entire scheme specification is short enough to fit on a double sided page if condensed. So my friend, mostly in jest, brought the whole Scheme specification to the test with him and figured every possible question could be answered that way!

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

#12
build a scheme interpreter in python = best of both worlds??

I love SICP - easily in my top ten most influential CS books. But I've basically never seen a real Scheme job. I do think it's reasonable to at least try to instill both foundational and marketable skills early.

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

#13
post #2

Scheme it's far easier to grasp. With SICP you basically rewrite a Scheme within a Scheme. And you teach Calculus to the interpreter to solve further problems. Online SICP: http://sarabander.github.io/sicp/

I fondly remember doing a course in my CS degree that was basically working through SICP as a class, taught my an ancient but very fun and enthusiastic tenured professor. When he retired I think the curriculum was updated to JavaScript (??) or as the new professor called it "scheme in drag". I'm glad to have taken the original course..

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

#14
Isn't this just part of the broader trend of CS departments switching away from teaching computer science to teaching computer engineering, which in turn is part of the more general trend of colleges becoming more vocational?

LISP dialects like Scheme are excellent for teaching pure computer science because they are the closest thing to executing lambda calculus expressions. Whereas Python is excellent for teaching applied computer engineering, because it's essentially executable pseudocode for imperative languages, and imperative languages are the most common language a computer engineer encounters in the real world.

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

#15
post #4
post #2

Scheme it's far easier to grasp. With SICP you basically rewrite a Scheme within a Scheme. And you teach Calculus to the interpreter to solve further problems. Online SICP: http://sarabander.github.io/sicp/

To do that with Scheme/SICP, you actually have to understand the CS principles behind it. Not as much with Python, which is likely why it became a more popular choice.

The point of Scheme SICP is that it will teach you these CS principles.

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

#16
post #4

Earlier quoted context omitted.

To do that with Scheme/SICP, you actually have to understand the CS principles behind it. Not as much with Python, which is likely why it became a more popular choice.

Shouldn't that be the point?

I remember when universities wouldn't teach languages higher level than C/++ because "the languages changed too quickly and the 4 year degree would be obsolete by the time the students graduate". Instead, they focused purely on the low level engineering aspects of the software meeting the hardware, with only advanced classes focusing on things like AI research (pre-LLM days) or modelling fluid dynamics on specialized hardware.

Of course, this is also why most companies worth working at didn't care if you had a CS college degree or not to build a wordpress website or a SOAP/REST API. Aside from some very basic lessons learned from experience (generally understanding computational complexity and maths) most software jobs didn't need any knowledge of assembly at all, or how to write an interpreter or a garbage collector.

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

#17
There's probably a middle ground somewhere. IMHO, SICP leans a little too heavily on the homoiconicity of Scheme for its choice of exercises. Which is intellectually nifty but it could also include exercises from something like Crafting Interpreters (Nystrom) where you would build up step-by-step to an interpreter of a non-Scheme-like language, using Scheme.

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

#18

Isn't this just part of the broader trend of CS departments switching away from teaching computer science to teaching computer engineering, which in turn is part of the more general trend of colleges becoming more vocational? LISP dialects like Scheme are excellent for teaching pure computer science because they are the closest thing to executing lambda calculus expressions. Whereas Python is excellent for teaching a…

Yes. One of the biggest complaints that computer science departments used to get from students is that they weren't learning any languages that employers are using.

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

#19

Isn't this just part of the broader trend of CS departments switching away from teaching computer science to teaching computer engineering, which in turn is part of the more general trend of colleges becoming more vocational? LISP dialects like Scheme are excellent for teaching pure computer science because they are the closest thing to executing lambda calculus expressions. Whereas Python is excellent for teaching a…

Executable pseudocode is an oxymoron.

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

#20
The last sentence was the key:

    And why Python, then? Well, said Sussman, it probably just had a library already implemented for the robotics interface, that was all.
That is the essence of Python's strength ... the eco-system. And the comment about engineering becoming the art of trying to reason about half-documented toys from the huge grab bag of packages is exactly on point relative to the risk and challenge of this transition.
Post reply on HN