Hacker News new | comments | show | ask | jobs | submit login

Is the class using only Racket? Wonder what made them chose that language? Also what is the language used in MIT these days?



As another commenter mentions, MIT used MIT/GNU Scheme [1] for the introduction to CS class 6.001, so if you're following SICP, this is probably the least-friction distribution of Scheme to be using (hints: use rlwrap, or use scheme-mode in emacs, or figure out how to use its built-in scheme-based emacs clone "edwin").

MIT ran(/runs?) a one-month short course covering material from 6.001, and they used PLT Scheme when I took it (now Racket). I seem to remember needing to go into one of the rnrs language modes to get things like mutable cons cells. (How impure.) From what I understand, MIT Scheme is much more in the Maclisp tradition, vs. Racket being more from programming language theory (though both are firmly rooted in the Scheme standard), which reflects in their extensions to the core language.

Nowadays, there is no equivalent to 6.001 at MIT, except maybe 6.945 can substitute. They have a survey course sequence 6.01/6.02 which covers EECS in general, using Python when programming is needed. As a challenge exercise you can make an interpreter for a language, though that's not very metacircular.

[1] http://www.gnu.org/software/mit-scheme/


SICP has always been based on Lisp/Scheme. DrScheme/DrRacket/Racket is purpose-built to be easily deployable and usable in educational environments.


Racket gives us a superset of Scheme that gives us more expressive power. Modularity (good programming practices), built-in loops (for mucking with vectors), structs (for data abstraction), built-in OOP, and extensive libraries are all things we'd like to take advantage of in the future in our lessons.


The languages used at MIT nowadays in EECS undergraduate education are Python and Java.


The original SICP used MIT/Scheme, a fantastic language. Racket is a continuation of the ideas of MIT/Scheme with more focus on technical computing and a heavy focus on langdev and PLT theory.

Not to make the language seem daunting, it's really quite easy to pick up, maybe if you find yourself with a few spare weekends you should give it a try!

It comes with a builtin IDE and profiler and everything else, so you just gotta dig in and learn.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact

Search: