What Counts as a Programming Language
summary
Argues that whether something is a programming language depends on assumed context not formal definitions, and shows concrete comparisons: Alloy, TLA+, Modelica and Cypher expose checks and diagrammatic queries that general languages miss; implements an interpreter from Crafting Interpreters and trades legibility for speed in lexer design; notes three failed diagrammatic language attempts; recommends writing two or three "always true" rules, locating their context, and testing ideas across domain-specific boundaries.
AI-written summary · about
chapters (13)
- 0:00Intro
- 2:45Many professional programmers aren't so inclusive, • Does It have to be Turing complete? • Does it have to be usable for solving a specific kind of problem? • Does it have to actually be used for solving that problem? • Does it have to have a compiler and/or interpreter?
- 7:30Is a query language a programming language?
- 8:38Context: The descriptors that characterize our specific situation
- 17:51"General" programming languages differ from "domain-specific" programming languages.
- 19:34Default domain for programming languages: end user applications where the user can change something
- 25:58What separates converting CSVs into JSON format
- 26:41There may be more value in learning to identify contexts, and share information across contexts, than in formalizing our understanding of the differences between DSLs in two separate domains.
- 27:31You can access a deeper and better-connected understanding of programming languages...
- 27:59What principles, ideas, or "best practices" do you think of as always right, or generally right?
- 28:36Maybe there is a context in which that is the case.
- 29:15Go looking for contexts that are different from yours to better understand why your best practices work in your context
- 29:53Now, go looking for similar contexts to yours. What can your tried-and-true approaches contribute to this similar context? What can you learn from this similar context about what to try in your own context?
related talks
49mWhat Counts as a Programming Language?
57mWhy Programming Languages Matter
01h 30mThe Past, Present and Future of Programming Languages
56mThe Past, Present & Future of Programming Languages
01h 02mFour Languages from Forty Years Ago
16mA Rhetorical Framework for Programming Language Evaluation
59mPrinciples of Programming Language Translators
29mAre all programming languages in English?
