Project Sherlock

Computer Science

Programming Languages

How languages are designed, what they let you say, and what they prevent you from saying.

13 topics · 19 curated works

Topics

Reading in Programming Languages

19

A way in

  1. Start here

    No prior grounding assumed.

    The Early History of Smalltalk

    Alan C. Kay · 1993

    Recounts Smalltalk's design, arguing objects sending messages to each other, not classes or inheritance, was the idea that actually mattered.

    +2 more at this level

  2. Then

    Assumes you know the vocabulary.

    Go To Statement Considered Harmful

    Edsger W. Dijkstra · 1968

    Unrestricted jumps destroy the correspondence between program text and program execution, which is what makes reasoning possible.

    +5 more at this level

  3. Go deeper

    Primary sources and full treatments.

    Structure and Interpretation of Computer Programs

    Abelson, Sussman & Sussman · 1985

    Programs are built from abstraction barriers, and the language you build is more important than the one you were given.

    +9 more at this level

12 of 19 works

Paper1993

The Birth of Prolog

Alain Colmerauer & Philippe Roussel

Recounts how Prolog grew out of an attempt to make Robinson's resolution principle into a usable natural-language question-answering system, and why its control rule became depth-first.

In order written

1967 – 2022
  1. 1974Programming with Abstract Data TypesBarbara Liskov & Stephen Zilles
  2. 1978The Development of the SIMULA LanguagesOle-Johan Dahl & Kristen Nygaard
  3. 1986Hygienic Macro ExpansionEugene Kohlbecker, Daniel P. Friedman, Matthias Felleisen & Bruce Duba
  4. 1993The Birth of PrologAlain Colmerauer & Philippe Roussel
  5. 2000Domain-Specific Languages: An Annotated BibliographyArie van Deursen, Paul Klint & Joost Visser
  6. 2006Gradual Typing for Functional LanguagesJeremy Siek & Walid Taha

Elsewhere in Computer Science