In 2026, traditional one-dimensional programming is about to be challenged by languages that explore the potential of two-dimensional programming. As suggested by the article published on shukla.io, writing vertical expressions could not only change the way we structure code but also increase its efficiency and readability.
The idea that expressions can be written vertically, such as the inequality ‘a < b’, paves the way for a new way of composing functions. The traditional infix notation, predominant in programming languages, is challenged by the need to represent three-argument functions more intuitively. For example, the expression ‘and y and z x’ in Python, which technically is the composition of multiple binary functions, could be simplified with a ternary notation.
An operator called ‘andFlip’, defined as ‘def andFlip(args): if args[0] and args[1]: args[2] = not args[2]; return args[2]’, illustrates the need for a truly ternary infix notation. The attempt at representation in infix notation is complex and proposes a more visual solution, taking advantage of the Y dimension to facilitate the concatenation of operations.
A practical example is the control of an automatic door in a chicken coop, where the microcontroller tracks three conditions to switch the door: the passage of the twilight/dawn threshold, the stability of the reading for five minutes, and the absence of recent switching. The expression ‘(x @@ y) @@ z’ is a three-way toggle, where x, y, and z must be true for the door to switch.
Spatial language becomes even more interesting with the introduction of vertical chaining, allowing the reconfiguration of mutable variables like ‘t1’ within the expression itself, which refers to quantum computing and the concept of ‘uncomputing’.
Other examples of spatial languages include Befunge, which has its instruction pointer physically traveling on a grid, and Orca, a live encoding sequencer where each letter is an operator that reads its neighbors. These languages offer a new perspective in programming that could shape the future of computer systems.
The transition to languages that explore two-dimensional space could not only expand our understanding of programming but also lead to advances in code efficiency and simplicity, allowing the representation of more complex operations in a more intuitive and compact way.