Well, we all knew it had to happen eventually. After years of great blog posts and insightful commentary on the programming world, Jeff Atwood has finally jumped the shark in his latest post which essentially says "programming is hard, let's go shopping!".
Now I'm not entirely sure why Jeff and Joel have decided to wage war against SOLID. At first I thought it was just a bit of verbal diarrhea and I sympathized. I am very aware of how easy it is to say something stupid when you're just casually bantering with a friend or colleague. However, from the tone of his post and the subsequent comments it received, it seems that lines are being drawn and the battle is on.
Honestly, I don't really understand what all the commotion is about. SOLID isn't all that controversial in my opinion. Jeff's main problem seems to be that by introducing so many best principles and practices, we run the risk of overwhelming programmers with too much guidance:
The bigger and more grandiose the set of rules you come up with, the
more severe the danger. A few broad guidelines on a paint can begets
thirty rules for painting, which begets a hundred detailed principles
of painting..
Pretty soon you'll find yourself believing that every possible situation in software development can be prescribed, if only you could come up with a sufficiently detailed set of rules!
And, of course, a critical mass of programmers patient enough to read
Volumes I - XV of said rules. You'll also want to set up a few
messageboards for these programmers to argue endlessly amongst
themselves about the meaning and interpretation of the rules.
He has a point, of course. If we reached the point where programmers relied so heavily on rules that it hindered their ability to code, then yes, we would have a serious problem on our hands. The problem is that this scenario is so laughably far from the reality of what average programmers are like that I wonder if Jeff and Joel are secretly just messing with us to see how much commotion they can stir up.
Dance puppets, dance!
The reality of the situation is this: the average programmer has probably never even heard of SOLID and couldn't care less about it even after it was explained to them. The idea that we are soon going to be swamped in bureaucratic rules that force us to think too much about the software we write is ludicrous when sites like TheDailyWTF still exist. If anything, we should be in support of anything that will force programmers to think more about the code they write, not less.
In the end though, Jeff has a hundred thousand RSS followers and I have orders of magnitude less. His post appeals to the lowest common denominator. It reinforces the belief that quality of code doesn't matter and it will garner massive support while mine will be lucky to get 20 people to even read through the first paragraph. That alone should be a testament to how skewed the software industry is in terms of those who care about quality code vs those who don't. Given that, are we absolutely sure we want to go down this path?
Enjoyed this post? Share it with others!