Programming Language Progress Works by Removing Capabilities, Not Adding Them
Software architect Robert Martin, in his book Clean Architecture, argues that the three major programming paradigms—structured, object-oriented, and functional—each advanced the field by prohibiting dangerous capabilities rather than introducing new ones. Structured programming banned the unrestricted 'goto' jump, object-oriented programming replaced wild indirect function calls with compiler-guaranteed methods, and functional programming eliminated mutable assignment to prevent shared-state bugs. Martin concluded from this pattern that no fourth paradigm exists, since there is nothing left to remove. However, his 2017 bet was already being undermined: Rust, released in 2015, removed shared mutation to eliminate data races at compile time, and structured concurrency, introduced in 2018, banned unconstrained task spawning. These two developments suggest the subtraction-as-progress model continues beyond the three classical paradigms Martin identified.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.
Discussion (0)
Log in to join the discussion and vote.
Log in