master 717690dc86ce cached
1 files
3.8 KB
951 tokens
1 requests
Download .txt
Repository: jeanqasaur/learn-programming-languages
Branch: master
Commit: 717690dc86ce
Files: 1
Total size: 3.8 KB

Directory structure:
gitextract_kmpj1wh_/

└── README.md

================================================
FILE CONTENTS
================================================

================================================
FILE: README.md
================================================
# 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
  * UW professor Dan Grossman's [teaching materials](https://homes.cs.washington.edu/~djg/teachingMaterials/) are fantastic.
  * UPenn professor Benjamin Pierce's [_Types and Programming Languages Book_](https://www.cis.upenn.edu/~bcpierce/tapl/) is a classic.
  * Tufts professor Norman Ramsey was the one who taught me a lot of what I know. He also has a book [here](https://www.cs.tufts.edu/~nr/build-prove-compare/), available upon request.
  * MIT professors Abelson and Sussman's [_Structure and Interpretation of Computer Programs_](https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book.html) is another classic. I'm pretty sure I've read through the whole thing cover-to-cover multiple times.
  * I've never read Feilleisen et al's [_How to Design Programs_](https://htdp.org/), but it's also another highly recommended one.

# Advanced topics in programming languages
  * There is, of course, Benjamin Pierce's [_Advanced Topics in Types and Programming Languages_](https://www.cis.upenn.edu/~bcpierce/attapl/). Most PL people I know have this and TAPL on their bookshelf.
  * If you're interested in program analysis, you may be interested in checking out CMU professor Jonathan Aldrich's [Program Analysis course](http://www.cs.cmu.edu/~aldrich/courses/17-355-19sp/).
  * If you're interested in Coq and formal verification, you may be interested in MIT professor Adam Chlipala's books, [_Certified Programming with Dependent Types_](http://adam.chlipala.net/cpdt/) and [_Formal Reasoning About Programs_](http://adam.chlipala.net/frap/). You might also consider Benjamin Pierce's [_Software Foundations_](https://softwarefoundations.cis.upenn.edu/). This book is written as a collection of Literate Coq files with exercises.
  * If you're interested in the intersection of software foundations and security, you may be interested in the syllabus for this course Matt Fredrikson and I designed at CMU a few years ago. We taught a bunch of grad-level material very slowly to upper-level students and they seemed to learn a lot! Her are the [original materials](https://github.com/jeanqasaur/cmu-15316-spring17/tree/master/lectures). Here's the [current website](https://15316-cmu.github.io/index.html).


# 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](https://github.com/jeanqasaur/dsl-syllabus-fall-2016).
  * 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](http://www.cs.cmu.edu/~popl-interviews/) 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](http://abstract.ece.cmu.edu/peopleOfPLDI/) 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)
Download .txt
gitextract_kmpj1wh_/

└── README.md
Condensed preview — 1 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (4K chars).
[
  {
    "path": "README.md",
    "chars": 3864,
    "preview": "# Introduction\nThis is mostly based on an email I wrote to someone a few months ago who wanted to spend some time learni"
  }
]

About this extraction

This page contains the full source code of the jeanqasaur/learn-programming-languages GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 1 files (3.8 KB), approximately 951 tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!