Softwaredevelopment: direct application of this sort of theory results in over engineered systems that are flexible in ways that don’t matter, and inflexible in ones that do matter.
Jargon
- Shim
- [It is a structural pattern and more specific can be "Proxy", "Adapter" or "Facade"]("Proxy", "Adapter", "Facade")
- Thunk
Patterns
- Dispose Patter
- is a design-pattern for resource management
- Code that change together should stay together
- programming.pattern
abstraction
- https://surma.dev/things/cost-of-convenience/
Escape hatches are, in my opinion, an absolute necessity in any library or framework. It is near impossible to anticipate every possible use case, and providing escape hatches allows developers to work around a restriction and keep moving rather than getting stuck.
If developers already have a skill but are forced to spend time learning a new way to do the same thing, frustration happens. Doubly so if there is no tangible benefit of doing it “the new way”, apart from maybe idiomaticism or purity.
Frustration happens when the developer is unable to use their existing skills or feels disproportionally punished for doing it their way instead of your way.
- layered architecture
- Cheng Lou - On the Spectrum of Abstraction at react-europe 2016
Notes
See
- ci-cd
- code
- design
- programming
- coding-mistakes-and-gotchas
- algorithms
- compositionality
- computation
- computer-science
- conceptual-integrity
- configuration
- inversion-of-control
- dao-repository
- inner-developement-loop
tools
Links
- The Day I Became A Software Engineer ∊ swyx.io
- Two Reasons I Missed Out on a Software Engineering Job | by Rodrigo M. Castilho | Better Programming | Nov, 2020 | Medium
- The duct tape programmer
- Tracer bullets development (TBD)
- A Philosophy of Software Design | John Ousterhout | Talks at Google
- principle of least knowledge
- The Cethdral and the Bazaar
- Explaining Alexander Technique to software developers :: #17
- how I think when I think about programming
- The Grug Brained Developer tags.to-read