3 Matching Annotations
- Oct 2020
We rarely, if ever, start with a completely blank file and start writing code. More often that not we start by copying an existing file and then modifying it to get our result.
The reason the bunny theory of code has held up is because of the way software engineers work.
One of the primary tasks of engineers is to minimize complexity. JSX changes such a fundamental part (syntax and semantics of the language) that the complexity bubbles up to everything it touches. Pretty much every pipeline tool I've had to work with has become far more complex than necessary because of JSX. It affects AST parsers, it affects linters, it affects code coverage, it affects build systems. That tons and tons of additional code that I now need to wade through and mentally parse and ignore whenever I need to debug or want to contribute to a library that adds JSX support.
- mentally filter/ignore
- for-reaching consequences
- high-cost changes
- unintended consequence
- engineering (general)
- too complicated
- can't keep entire system in your mind at once (software development) (scope too large)
- implementation complexity
- semantics (of programming language)
- infectious problem
- the cost of changing something
- primary task/job/responsibility
- avoid complexity
- mental bandwidth