The linguist programmer
summary
The talk argues that when an application’s behavior is controlled by large, messy configuration files and many conditional code paths, a better solution is to design a domain-specific language (DSL), compiler, or virtual machine. It gives examples like SQLite, Emacs, tcpdump and Spark to show how adding a language improves configuration, performance, and extensibility, and outlines creating a language as an alternative to proliferating flags, factories and strategy patterns.
AI-written summary · about
chapters (12)
- 0:00Introduction
- 1:05What is a linguist?
- 3:30Config parameter problems
- 8:24Hackable by design
- 10:35Create a DSL step by step
- 13:50Abstract syntax trees
- 16:39Execute tree with a stack
- 19:27Prune tree from below
- 20:32Microservices example
- 29:20Statistical batch system
- 33:40Advantages of this approach
- 35:28Q&A
related talks
05mModel Driven Software: Putting the Cart Before the Egg
40mLanguage Games
50mDSL in Action
58mSoftware Engineering Languages
01h 03mThe Language of the System
01mSoftware doesn't tolerate ambiguity
28mWhat You See Is What It Does: A Structural Pattern for Legible Software
43mThe Tyranny of Structurelessness
