Transgressive Programming: the magic of breaking abstraction boundaries
You probably don’t want to be an asshole.
Being an asshole, as Siderea’s classic essay The Asshole Filter points out, is about being transgressive, about violating social boundaries and rules.
And so within the cultural norms of our society, most of us try to avoid being an asshole, by sticking to the expected social boundaries.
In programming as in social life, there are boundaries we try not violate: we build software with abstractions, boundaries between the complexity beneath and the utility we want to achieve.
You can transgress these boundaries; you can bypass abstractions, or rely on implementation details.
The accepted wisdom, however, is that good programming sticks to abstraction boundaries.
But programming requires varying mindsets for varying situations and goals, and good habits in one situation