6 ms·
Programming Languages: Application and Interpretation (2021)
- oxff 5y agoFrom the same author: https://dcic-world.org/ https://dcic-world.org/ One of the best beginner learning resources for getting into programming.
- agumonkey 5y agoIt seems very well balanced, a good mix of simple yet precise and advanced. Thanks.
- bhrgunatha 5y agoI enjoyed going through Brown's Introduction to Programming Languages (2012) which uses the book. http://cs.brown.edu/courses/cs173/2012/ http://cs.brown.edu/courses/cs173/2012/
- skrishnamurthi 5y agoWe created a MOOC version of it that is archived here, for anyone who wants to follow it: https://cs.brown.edu/courses/cs173/2012/OnLine/ https://cs.brown.edu/courses/cs173/2012/OnLine/
- rg111 5y agoTangentially related, but I have found the PL course [0] on Coursera taught by Dan Grossman to be really high-quality and engaging. Learned a lot from it. [0]: https://www.coursera.org/learn/programming-languages https://www.coursera.org/learn/programming-languages
- rauljara 5y agoI will second that heartily. Was one of the more mind expands courses I’ve ever taken.
- rg111 5y agoWhat are some others, if you don't mind?
- rauljara 5y agoNothing online, I’m afraid. Most of the best classes I’ve taken were at my brick and mortar small liberal arts college and were not computer science. I’ve also taken plenty online courses that I would call useful, and I’m glad I took them [1]. But Grossman’s is the only online course I’ve taken where I felt like there was a deep pleasure and joy in teaching your brain new and unexpected ways to think. [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.
- rg111 5y agoThanks. 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.
- jackallis 5y agois this beginner level course?
- spdegabrielle 5y agoFrom https://www.plai.org/ https://www.plai.org/ > 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.
- skrishnamurthi 5y agoYeah, it's definitely not for beginners. It assumes you have a fairly good understanding of programming, and now care to make sense out of languages.
- spdegabrielle 5y agoGreat book. Will change how you think about programming languages, and not many books can make that claim. Good news is the author* is working on a new version. * https://parentheticallyspeaking.org/about/ https://parentheticallyspeaking.org/about/
- skrishnamurthi 5y agoThe third edition will be a while coming, though. I'm driving the third edition a lot more from computing education research that we are doing, and that research is informing a lot about the design and even the approach.
- martincmartin 5y agoAny good recommendations for types, as used by programming languages? Is "Types and Programming Languages" by Pierce still the best intro, even though it's 20 years old?
- tonyg 5y agoYou could try chapter 15 of TFA (http://cs.brown.edu/courses/cs173/2012/book/types.html); http://cs.brown.edu/courses/cs173/2012/book/types.html); otherwise, yes, TaPL is still very good. An alternative (and rather more difficult) path could be to try working through the Programming Language Foundations volume of Software Foundations (https://softwarefoundations.cis.upenn.edu/plf-current/toc.html https://softwarefoundations.cis.upenn.edu/plf-current/toc.ht...), also by Pierce (and others), which does all its implementation work in Coq (!).
- DonaldPShimoda 5y agoTAPL remains a go-to text for inducting people into PL. I have absolutely no qualms recommending it, because we still use the techniques it teaches. 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).
- tyleo 5y agoI highly recommend this book. I’m about half way through and it is one of the best on languages that I have read.