Live data from Hacker News

Lisp: A Language for Internet Scripting and Programming (1998) [pdf]

norvig.com

1–10 of 114 posts

Re: Lisp: A Language for Internet Scripting and Programming (1998) [pdf]

#3
post #2

I wonder if any teacher already tried to teach LISP as a first language instead of java or C, and what there was to learn about it.

MIT's introductory engineering course used to teach Scheme to the students using the excellent SICP text. I believe they now teach their beginning students Java or Python. I am not sure if there are blog posts or papers detailing the benefits of using Scheme in the class room.

Re: Lisp: A Language for Internet Scripting and Programming (1998) [pdf]

#5
post #3
post #2

I wonder if any teacher already tried to teach LISP as a first language instead of java or C, and what there was to learn about it.

MIT's introductory engineering course used to teach Scheme to the students using the excellent SICP text. I believe they now teach their beginning students Java or Python. I am not sure if there are blog posts or papers detailing the benefits of using Scheme in the class room.

Several other colleges have a similar course. Where I went (U of M - Twin Cities), they still use Scheme. I also would be interested in any papers about it.

Re: Lisp: A Language for Internet Scripting and Programming (1998) [pdf]

#6
post #3
post #2

I wonder if any teacher already tried to teach LISP as a first language instead of java or C, and what there was to learn about it.

MIT's introductory engineering course used to teach Scheme to the students using the excellent SICP text. I believe they now teach their beginning students Java or Python. I am not sure if there are blog posts or papers detailing the benefits of using Scheme in the class room.

They switched the introductory course from Scheme to Python. The reason is because programming doesn't consist of building things up from first principles anymore, as is done in SICP. Now it largely consists of debugging and customizing already existing code, often via frameworks.

Re: Lisp: A Language for Internet Scripting and Programming (1998) [pdf]

#7
post #2

I wonder if any teacher already tried to teach LISP as a first language instead of java or C, and what there was to learn about it.

MIT is where the legendary "Wizard Book" (SICP)[0] was developed, for teaching their introductory class using Scheme.

A few years ago, MIT restructured their entire CS curriculum (not just the intro class) in a way that required redesigning the individual curricula of each of the classes, including the intro class. As a result, they couldn't use SICP, since it didn't cover the same topics. At this time, they ended up switching to using Python for the class.

This is sometimes presented by people who dislike functional programming as an indictment of Scheme/Lisp, though this is very misleading. Nobody made the decision to "abandon" SICP - "they" made the decision to redesign the entire curriculum (top to bottom), which meant writing new syllabi/textbooks for all/most of their classes, especially the intro class, and then "they" made the decision to write the new syllabus/book for that new intro class in Python[0].

Some schools (University of Minnesota is one) still use SICP.

Personally, I think that SICP is the best way to be introduced to both the fundamentals of computer science and programming. The only caveat is that it requires a certain level of dedication before-the-fact (something that could be reasonably assumed in an MIT intro class). So it's not the best choice for someone who "just wants to dabble" in programming and see if they like it (try Python or Ruby for that), or for someone who wants to understand computer architecture and engineering (try C for that), but for everyone else, it's unparalleled.

The nice thing about SICP is that it focuses very little on learning the nitty-gritties of Scheme (partly because there's so little to learn!), whereas most other introductory materials I've seen have to focus on Java-specific, Python-specfic, etc. features. Reading SICP feels more like reading a math textbook that "just happens" to come with a REPL for mathematical expressions, as opposed to learning the ins and outs of a given programming language or environment.

[0] Of course, "they" refers to many different people, very few of whom would be in the same "they" as it was in the 1980s when SICP was first written, so one has to keep that in mind before concluding that MIT "changed their mind".

[0] https://mitpress.mit.edu/sicp/

Re: Lisp: A Language for Internet Scripting and Programming (1998) [pdf]

#8
Note to any future academic paper writers: Please include a date in your paper. Thanks.

Judging from Norvig's employment, this is at least 10 years old. And also from SILK, which later evolved to JScheme, which is now used in e.g. Scheme Droid interpreter for Android.

Re: Lisp: A Language for Internet Scripting and Programming (1998) [pdf]

#10

Note to any future academic paper writers: Please include a date in your paper. Thanks. Judging from Norvig's employment, this is at least 10 years old. And also from SILK, which later evolved to JScheme, which is now used in e.g. Scheme Droid interpreter for Android.

Y2k
Post reply on HN