Live data from Hacker News

Why Did M.I.T. Switch from Scheme to Python?

danweinreb.org

61–66 of 66 posts

Re: Why Did M.I.T. Switch from Scheme to Python?

#61
An intelligent person, particularly one with natural aptitude for programming will end up fine regardless of which language they start with. Also, anybody that truly starts programming in college is a rather sad candidate to begin with.

Also, Python is a much more practical choice than Scheme, and has technical merits which are at least as attractive as Scheme, and arguably more so. Scheme is elegant. But Python is also elegant, yet more practical. From that angle, looks like a net change for the better.

MIT also strikes me as a school oriented more towards producing engineers rather than programmers. And if you're going to school at MIT just to get into a career in programming, that sounds like a terrible waste of money. Robotics or electrical engineering? Probably a good choice. But programming? Come on.

Then there's the whole argument of why anybody needs to go to MIT, or even get a college education in CS. We live in a world with the Internet and scads of free books in libraries and documentation online. Follow that line of thinking and the whole controversy over this tweak in some random school's class content seems silly. It is as if nobody can learn anything outside of a class, so if it is not taught in that particular class at MIT, it will never be learned, and the world will end. Hilarious. :)

Re: Why Did M.I.T. Switch from Scheme to Python?

#62

I'm graduating from MIT (hopefully) in under a month with a degree in CS. The new curriculum is an abomination. If you are teaching some of the (supposedly) brightest students in the world, you shouldn't worry about teaching marketable skills or using popular languages. Your students should be able to pick up a new language easily. Luckily, I took all old-curriculum classes. If I were a student entering college for C…

If you read my original post, you'll see that it has absolutely nothing to do with teaching marketable skills nor popular languages. The point was that the change in languages was not a goal in itself, but merely an incidental consequence of what the real goals were. (The title of the blog entry was meant to be ironic.) http://danweinreb.org/blog

Re: Why Did M.I.T. Switch from Scheme to Python?

#63
post #17

Earlier quoted context omitted.

The arguments for changing the course do not include teaching marketable skills or using popular languages. The main argument is that the practice of computer science has fundamentally changed since the course was originally developed. The argument is that computer scientists rely more on existing libraries and systems that often require fundamental research for an individual to comprehend. They have changed the cour…

It's not just 6.01/6.001 -- it's the entire undergrad CS curriculum. Moving these classes toward Python because 6.01 found a Python robotics library (from MIT, coincidentally) does not justify moving other things to Python. Python's a great language, don't get me wrong but you're being misled if you think that popularity and marketability were not factors in selecting Python for the new course 6 curriculum. As for th…

"You're being misled if you think that popularity and marketability were not factors in selecting Python for the new course 6 curriculum." Well, I suppose it's possible that you belive Prof. Sussman and Prof. White are lying. I've known both of them for a very long time and find that utterly implausible, but I suppose you have a right to your opinion, however informed or uninformed.

Re: Why Did M.I.T. Switch from Scheme to Python?

#64

Earlier quoted context omitted.

Frankly, I know I would never hire anyone with your view of CS. While I understand the fondness many people feel for Scheme, building an entire CS curriculum around it strikes me as particularly problematic. Scheme and Scheme's approach to programming can, I'm sure, be useful as one part of a larger curriculum, but more often it feels as if I'm talking to someone who, say, learned how to take a derivative via limits,…

You don't believe in using the right tool for the job? In learning a variety of paradigms? Perhaps we have misunderstood each other. I'm not pushing Scheme or the metacircular evaluator as the totality of theoretical or applied computer science. My interest is entirely in the educational value of building a REPL versus, say, a robotic control system. MIT has a lot of robotics opportunities from clubs to IAP (winter t…

I rail against the railing because, frankly, so much of it consists of "how dare anyone call themselves a programmer if they didn't build their own Lisp from scratch in 6.001!"

This simply is not a useful approach. And, honestly, as a working programmer there are lots of things that aren't compilers or REPLs that I can think of, all of which would be at least as useful for students to have experience with, and none of which are, so far as I know, part of MIT's or anyone else's curriculum.

But I manage to live with that, rather than demanding that MIT build a curriculum around what I happen to think is important.

(and, honestly? I still feel like Scheme is the derivatives-by-limits approach to programming -- yeah, you can do it that way your whole life, but that doesn't mean you should)

Re: Why Did M.I.T. Switch from Scheme to Python?

#65
post #52
post #47

Earlier quoted context omitted.

Hi! I graduated last year ('08). You?

Ah I probably do not know you then. I graduated in '04. Do you know Zico? He graduated in '05 and is a grad student at Stanford now I believe. We were in the same algorithms class.

I don't know him personally, but I know who he is; I think we met once when I was a freshman, and then he gave a lecture for one of my classes last quarter. Andrew Ng speaks highly of him.

Re: Why Did M.I.T. Switch from Scheme to Python?

#66
post #28

Earlier quoted context omitted.

I didn't do my undergrad at Stanford, but I'm here as a grad student, and I believe they use Java for the intro classes. They do teach Python and C eventually, but no Lisp AFAIK. I did my undergrad at Georgetown, where nearly every class used C++ (or C, for classes in things like OS and security).

I did my undergrad at Stanford, and after taking two simple intro courses, we had the first real intro to paradigms course (CS107). In that course, three languages were used: C++ (for a data structures project), Java (for an OOP and Concurrency project), and Lisp (for a context-free grammar project). I don't know if the course is still taught this way, but I thought it was great.

There's a new CS107 this year (along with a few other classes; they just redid the undergrad curriculum). One of my friends is a 107 TA and he is actually sitting next to me right now. Apparently 107 no longer includes anything on Lisp. :(
Post reply on HN