Is there a better way to program than the traditional von Neumann approach? This paper challenges conventional programming paradigms, arguing that their inherent limitations lead to bloated and inefficient code. It proposes a shift toward a functional style of programming based on combining forms, aiming to overcome the constraints imposed by the von Neumann architecture. The study critiques the word-at-a-time programming style, close coupling of semantics to state transitions, and the separation of expressions and statements characteristic of conventional languages. It advocates for a functional approach that utilizes structured data, non-repetitive and non-recursive constructs, and hierarchical program construction. Combining forms enable building high-level programs from existing ones, surpassing the capabilities of conventional languages. Associated with functional programming is an algebra of programs where variables range over programs and combining forms act as operations. This algebra facilitates program transformation and equation solving, similar to algebraic manipulations. The research offers a foundation for the functional style of programming which can be used both in its programming language and in its state transition rules.
Published in Communications of the ACM, this article is relevant to the computing community. It challenges fundamental concepts and proposes an alternative approach, aligning with the journal's role in presenting thought-provoking and impactful research in computer science. This paper should further the field of computer sciences.