Tag
This article explores the importance of syntax design in programming languages, arguing that syntax should accurately reflect the language's computational model and mental model, rather than being arbitrarily cobbled together for familiarity or conciseness. The author analyzes the syntax design of OCaml, Lisp/Clojure, and JavaScript, and introduces his own language Saul, emphasizing uniformity and semantic consistency.
Bjarne Stroustrup's rule states that for new features, programmers prefer explicit syntax, but once established, they prefer terse notation. The article explores examples in Rust and Python and discusses implications for language design and teaching.