I think that my conceptual framework gives us an “out” – a way to avoid being emotional about these subjects. Casting the problem as a clash between Liberalism and Conservatism gives us the ultimate ticket for “agreeing to disagree”.
The way to avoid being emotional is to…avoid being emotional. I think that casting the problem as some unchangeable political “stance” is lazy thinking, and gives use the ultimate ticket for avoiding any real discussion. This way of thinking seems most useful in dismissing arguments one doesn’t feel like thinking too hard about.
Honestly, if you can’t have a real discussion about the pros and cons of e.g. static typing, you either have a lot to learn, or are not a very capable developer. If your best answer to “Can we use Ruby on this project?” is “oh, we’re Conservative, so…no”, then you are either have a lot to learn or you are an asshole. If you refuse to even discuss what the benefits of explicit, yet verbose code are over implicit, but compact code, then you are either have a lot to learn or are an asshole1.
As developers, we’re blessed to work in a field full of objective truths. To avoid seeking them out under the guise of immutable political stances is the epitome of anti-intellectualism.
- I would make the same conclusion for the opposite: you should be able to discuss the benefits of implicit, terse code over explict, verbose code, too. ↩