Hacker Courses The online courses programmers keep recommending, ranked from 20 years of public forum comments.
i
#134 overall

Programming Languages, Application and Interpretation

Brown University

3 recommenders · 3 threads · recommended in 3 years, 2015–2018 · score 3.3

Go to course ↗

A Brown University course and free textbook, "Programming Languages: Application and Interpretation", that teaches language design and semantics by building interpreters, skipping lexing and parsing. Topics include lexical scope, first-class functions, and objects.

Commenters call it an undergraduate PL textbook that gets straight to semantics without spending time on lexing and parsing, and they note it is free to read online.

Programming Languagesintermediatefreemixed#programming languages#interpreters#semantics#lexical scope#racket#shriram krishnamurthi

Recommendations by year

20062026

What commenters said (4)

  1. Strongly recommendsJackMorgan2015in “Why we hate Lisp”

    I've heard rave reviews of Joy of Clojure as a good book to "get it". I found I really had to work at the problem from several angles before it "clicked".

    I started with Land of Lisp, but it felt very arcane to me at the time. I would copy in code from the book, and then look back at just jibberish. I gave up on that a few chapters in. Then I made that site in Clojure, one error at a time, pounding like a monkey until it worked. I then read Clojure Programming twice, followed by working through Let Over Lambda. About halfway through Let Over Lambda, I think it "clicked". I finished with an amazing online course in Programming Languages through Brown University. I finished with SICP chapters 1-3.

    Nothing worthwhile is ever easy. If you need any help please reach out, you can't waste my time.

  2. Recommendsmballantyne2018in “Ask HN: What's a starting point for learning how to write programming languages?”

    I suggest "Programming Languages: Application and Interpretation", available free here: http://cs.brown.edu/courses/cs173/2012/book/ It's an undergraduate-level programming languages class textbook.

    Other books burn a lot of time on things like lexing and parsing; this one does not. In the lisp tradition, it assumes s-expressions and gets to the juicy bits of programming language semantics immediately: lexical scope, first class functions, objects, etc.

  3. Recommendskrat0sprakhar2016in “A Path to Programming Language Theory”

    I've been taking a PLT[0] class in school and while the list above is extremely comprehensive and thorough, I'd argue that you do not need to read up all of it to get a good idea of programming languages.

    Without even learning all the theory, you can get pretty far ahead (IMHO) in a building your own programming language (if that's the goal). The two resources that I've found invaluable are - the prog lang course[1] by Dan Grossman and PLAI[2] by Shriram. Lastly, there's also a whole bunch of interesting university courses that you can refer to - https://github.com/prakhar1989/awesome-courses#programming-l...

    [0] - http://www.cs.columbia.edu/~sedwards/classes/2016/4115-sprin...

    [1] - https://www.coursera.org/course/proglang

    [2] - http://cs.brown.edu/courses/cs173/2012/book/

  4. Mentionsnanook2013in “I'm teaching an introductory 12-week class on Haskell”

    I'm having a hard time keeping up with all these awesome classes.

    Coursera's PL class is starting in a few days: https://www.coursera.org/course/proglang

    Brown's Intro to PL class: http://cs.brown.edu/courses/cs173/2012/Videos/

Related courses

Keyboard

In the course grid
←↑→↓
Move between courses
Home End
Start / end of row (with Ctrl: first / last)
PgUp PgDn
Jump several rows
Enter
Open course
S
Save / unsave course
1–5
Best, Trending, Hidden gems, Evergreen, Saved
[ ]
Previous / next topic
On a course page
← →
Previous / next course in your list
S
Save / unsave
O
Open the course website
Esc
Back to the grid
Everywhere
/
Search
T
Light / dark theme
?
This help