I am happy you don't agree on modularity. I don't want to be correct, I want to arrive at correct conclusions. :)
Composition is great, scale free self similarity is probably the basis for the universe.
Modularity is a great design technique, it can also make things weaker and force other (unknowable) design choices because the module boundary prevents the flow of information/force. Overly constrained modular systems encourage globals, under constrained modular systems are asymptotic to mud/clay.
I don't want to use K8S as a strawman to attack modularity, but I think it is an example of using this powerful design tool to solve the wrong problem using mis-applied methods all the while being more complex and using more resources. In the case of designing systems, modules/objects/processes (Erlang sense) are critical, but not so much in building/engineering them. Demodularizing or fusing a design can make it more robust and more efficient.
I don't dislike modularity, I just think it is a bigger more complex topic than most give it credit for. Unix is highly-non modular and very poor composition. It sits on a molehill of a local maximum, itself sitting in the bottom of a Caldera, a sort of Wizard Mt on Wizard Island.
Other things you might like is the research around "Collapsing Towers of Interpreters" [1]
Or Dave Ackley's T2 Tile Project and Robust First Computing [2]
Would love to chat more, but internet access is spotty for the next week, non-replies are not ignores.
Composition is great, scale free self similarity is probably the basis for the universe.
Modularity is a great design technique, it can also make things weaker and force other (unknowable) design choices because the module boundary prevents the flow of information/force. Overly constrained modular systems encourage globals, under constrained modular systems are asymptotic to mud/clay.
I don't want to use K8S as a strawman to attack modularity, but I think it is an example of using this powerful design tool to solve the wrong problem using mis-applied methods all the while being more complex and using more resources. In the case of designing systems, modules/objects/processes (Erlang sense) are critical, but not so much in building/engineering them. Demodularizing or fusing a design can make it more robust and more efficient.
I don't dislike modularity, I just think it is a bigger more complex topic than most give it credit for. Unix is highly-non modular and very poor composition. It sits on a molehill of a local maximum, itself sitting in the bottom of a Caldera, a sort of Wizard Mt on Wizard Island.
Other things you might like is the research around "Collapsing Towers of Interpreters" [1]
Or Dave Ackley's T2 Tile Project and Robust First Computing [2]
Would love to chat more, but internet access is spotty for the next week, non-replies are not ignores.
[1] https://lobste.rs/s/yj31ty/collapsing_towers_interpreters
[2] https://www.youtube.com/watch?v=7hwO8Q_TyCA https://www.youtube.com/watch?v=Z5RUVyPKkUg