2023-02-04 - (2 min read)
I recently realized that all the various programming philosophies are concerned with state, and can be boiled down into a simple statement about how to work with state.
Service-Oriented-Architecture - Modifying all of the state in one service is hard to get correct; distribute it among multiple services.
MicroServices - Modifying any state in a service is hard to get correct; have many services that are primarily stateless.
Conclusion - What this shows is that every programming philosophy is about how to manage state, and each philosophy comes with trade-offs. What this means is that there is no “one true way” to deal with state, and that each programming philosophy is useful and important in the correct domain. It also shows how important minimizing state is.
https://www.worldofbs.com/minimize-state/