Space-time duals between functional and object-oriented programming

6 August 2020
6 Aug 2020

OOP :: data : FP :: functions

In object-oriented programs, we compose abstractions by composing data structures – this is composition in the space dimension a program, if you will.

In functional programs, we compose abstractions by composing functions (subroutines, processes, whatver you call them) – this is composition in the time dimension of a program.

I think this dual is conceptually interesting and can be useful for thinking about the structure of large programs that are macro-OOP vs macro-FP. It can help carry over lessons in one paradigm to equivalent lessons in the other paradigm.


Next: What makes Twitter different, and other thoughts on identity