Programming Languages: Application and Interpretation (2021)
cs.brown.edu
cs.brown.edu
Good news is the author* is working on a new version.
[1] Sedgwick’s algorithms class (useful and clear, but dry as hell), Martin Odersky’s scala course (solid, but probably a little dated by now), several others not worth mentioning.
I like learning new stuff, and expand my mind.
There are many courses on my to-do list that I learned about from HN.
I have found Sedgewick's course to be very dry (not intellectually, but physical vibe-wise) as well and was annoyed that I had to write Java.
Skiena, DPV, and a PragProg book ultimately taught me algorithms.
I have the Odersky course on my list as well.
One of the best beginner learning resources for getting into programming.
It will not teach you to implement a full-blown language with a performant runtime or anything like that. It is absolutely a book about theory. But I don't think any part of it is specifically outdated, except maybe that it does not reference any more modern languages (which is not much of an issue, in my opinion).
> PLAI is designed for upper-level courses that introduce the main ideas of programming languages. In the US, it is designed for students in their second- through fourth-years of college, as well as starting graduate students. However, PLAI has been used with students much younger, including in a few select high school classes.