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.
- unintended consequence
- for-reaching consequences
- the cost of changing something
- infectious problem
- primary task/job/responsibility
- mentally filter/ignore
- high-cost changes
- too complicated
- semantics (of programming language)
- engineering (general)
- can't keep entire system in your mind at once (software development) (scope too large)
- avoid complexity
- mental bandwidth
- implementation complexity