/learn-programming-languages

Resources for the working programmer to learn more about the fundamentals and theory of programming languages.

Introduction

This is mostly based on an email I wrote to someone a few months ago who wanted to spend some time learning more about programming languages.

Programming languages fundamentals

Advanced topics in programming languages

What's cool in programming languages research?

  • I taught a graduate seminar a few years ago in which we looked at all programming language designs through the lens of their domains. Here's the reading list for that course.
  • When I was the Publicity Chair for Principles of Programming Languages (POPL), one of the flagship conferences of our field, I did an People of POPL interview series with some of the luminaries of our field, as well as a diversity of younger researchers. It gives a pretty good picture of the cutting edge as of 2017.
  • The Publicity Chairs for Programming Language Design and Implementation (PLDI), another flagship conference of our field, did People of PLDI in 2019.

What conferences should I follow for programming languages and software engineering research?

It's way past my bedtime, so I'm going to put a list of conferences I've submitted to, plus a couple more. This is by no means a complete list.

  • Principles of Programming Languages (POPL)
  • Programming Language Design and Implementation (PLDI)
  • History of Programming Languages (HOPL)
  • Summit on Advances in Programming Languages (SNAPL)
  • International Conference on Functional Programming (ICFP)
  • SPLASH
  • ASPLOS
  • International Conference on Software Engineering (ICSE)