Efficiency and Flexibility Are Inversely Proportional
E ∝ F-1
In almost all things, a reciprocal relationship between efficiency and flexibility exists. In some cases, it’s obvious why: assembly language runs faster, and Python codes, changes, and debugs faster. Depending on one’s context or priorities, the definition of “efficiency” and “flexibility” change
Efficient Flexible Software execution speed Software development speed Domain-specific software languages General software language Software monolith deployment Separate APIs, UIs, and data stores deployment Strictly following a recipe Dash of this and a bit of that Measuring carefully to a cut-list “feeling” what the wood wants to beOne can optimize flexible systems to be as efficient as possible (e.g. compiling Python), and one can make efficient systems as flexible as possible (assembler macros and debugging). The actual characteristics of efficiency and of...