Live data from Hacker News

Why MIT Switched from Scheme to Python (2009)

wisdomandwonder.com

101–102 of 102 posts

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

#101

At UBC CS a few years ago they made a switch in the opposite direction, from Java to Racket for their intro course. I think this was a very good decision because it allowed them to spend less time teaching syntax (which in racket is very simple) and more time focusing on fundamental topics such as graphs, recursion, functional programming, and test driven development. Compared to the equivalent intro programming cour…

One point of learning these is to learn the ability to learn new languages on your own.

I would have a semester teaching several "toy" languages in different paradigms: perhaps some kind of lisp, some kind of prolog, and some procedural language, followed by a second semester where students choose the language they want to learn, and they learn it by themselves.

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

#102
post #45

"And why Python, then? Well, said Sussman, it probably just had a library already implemented for the robotics interface, that was all." That, right there , is the reason why I end up using Python so often. As dynamic languages go, Python is not the best for anything, but it's good enough for almost everything, and there's probably already a library implemented for it.

Well, that tells us something about you. But it doesn't exactly get to the heart of why people like writing libraries for Python.

My theory: it was the first language to take a human factors approach to language design. Not the best, but the first. This design philosophy has the simple consequence that Python programs are by and large incredibly easy to read, understand, and modify, compared to its contemporaries. "Network effects" did the rest.

Post reply on HN