…we respect and honor the pigness of the pig and the chickenness of the chicken.
Joel Salatin is an innovative farmer / agricultural philosopher(!) who has inspired me personally for quite some time. One of his farming tenets is respecting the inherent nature of the animals and the environment under his care. That resonates with me deeply. And I think it applies to programming.
We need to vigilantly avoid forcing logic against the grain of a language or its associated culture. Instead of asking “can I do this in language X?”, we need to be asking “should I do this in language X?” all along the way.
Because it’s never as simple as just writing logic a new way. Before writing that magical brilliant code in language X derived from paradigm Y, we need to ask ourselves questions like:
- Does the logic mesh with the language’s natural expressivity?
- What is the readability cost?
- What are the context switching costs? Relative to rest of the project codebase? Relative to the rest of an organizational codebase?
- What are the dev onboarding costs in deviating from community expectations?
- Is the approach likely to be sustainable over time? Or will the magical library that makes it all possible flame out quickly?