Can Programming Be Liberated from the Functional Style?
In his 1977 ACM Turing Award Lecture, John Backus identified the word-at-a-time style of programming, inherited from the underlying hardware and dubbed the "von Neumann bottleneck", as a major obstacle to the advancement of programming. In this keynote, I argue that the functional programming he advocated introduced its own bottleneck: that everything produced by a computation (including nothing) must be encoded as a single value. This "obligation to singularity" is foreign to modelling, where single values sit collegially between no values and two values. Exploring diverse examples, I will argue that adopting a modelling (de facto: relational) style of programming eliminates the functional bottleneck, and with it many of the data-to-control flow escapes that Backus originally sought to avoid.
Authors
- Friedrich Steimann (ORCID: https://orcid.org/0000-0002-8887-134X)
Institutions
- FernUniversität in Hagen (DE)
Publication Details
- Published
- 2025-06-12
- DOI
- https://doi.org/10.1145/3732771.3742708
- Primary Topic
- Computability, Logic, AI Algorithms
- Type
- article
- Field-Weighted Citation Impact
- 0.00