Coursera Spring Sale
40% Off Coursera Plus Annual!
Grab it
Explore the critical importance of concrete syntax in programming language design through this colloquium talk that challenges the common dismissal of syntax as superficial or unimportant. Examine how concrete syntax serves as the primary interface between programmers and programming languages, directly influencing how developers utilize and reason about language behavior. Discover through concrete examples from asynchronous control flow, gradual subtyping, and first-class functions how seemingly trivial differences in keywords, sigils, and indentation can significantly impact programmer understanding and language usability. Learn why language designers frequently overlook concrete syntax considerations and what implications this has for creating usable abstractions. Gain insights into preliminary research on lexical ambiguity and its effects on programmer comprehension of type system features, making a compelling case for treating concrete syntax as a fundamental aspect of programming language design rather than an afterthought.