I was listening to a pod cast a while back and the speaker said something that always kind of rubs me the wrong way. He said:
I do XYZ because I'm lazy.
Now, if you didn't know what XYZ was, you might assume that it is something to indicate laziness such as:
I never change my bed sheets because I'm lazy.
or something like:
I only use Cliff's Notes because I'm lazy.
Whenever you hear the term, "because I'm lazy", it's never a positive thing, and it probably shouldn't be; after all, lazy is not a quality that many people strive for. The problem that I have is that when this phrase is used in a technology presentation, 99% of the time, it's used to qualify a most excellent virtue. I can't tell you how many times I've heard something like:
I write highly optimized code because I'm lazy.
or something like:
I keep my applications very DRY because I'm lazy.
I like to create highly cohesive code that can be easily reused because I'm lazy.
These are the most insane statements that I have ever heard. Somewhere along the line, things went horribly wrong in the IT industry, and people decided that "well thought out" == Lazy.
Now, I know that these kinds of statements are not said with conviction. I know that software architects don't write organized code out of a desire to be lazy. So, let's stop saying things like that. Let's preach best practices as a virtue, not as the byproduct of a shortcoming.
I suspect that this is sometimes said to help introduce novice programmers to the idea of writing complex code. If you tell a novice that this is a best practice, then perhaps, anything short of that feels like failure. So, by telling them that this best practice is done out of laziness, perhaps it seems less intimidating to the uninitiated.
And, I know that in the grand scheme of things, this is a really insignificant conversation, but I guess it struck a chord with me. In a way, it reminds me of when I started working out. In high school, I gradually started phasing out my sporting activities and phasing in my lifting activities. At the time, no one could accept the idea of lifting weights just for the sake of lifting weights; you would only lift to get bigger / faster / strong for a sport like Football or Baseball. As such, I often found myself having to make up excuses for lifting. "Oh, I'm doing leg press to help my Snowboarding", or, "Yeah, I'm working my arms to improve my tennis." It's like I had to justify lifting to myself by justifying it to other people. It wasn't until I got a little older and a little more confident that I could just tell people that I lift weights because it's awesome and it makes me feel good.
Now, maybe I am reading into things too much, but to me, excusing weight lifting and excusing best coding practices feels like the same thing. And I say, No more! From now on, whenever I hear someone say that they write clean code, or use CSS, or create cohesive objects, I would love to hear that it's done out of a passion for programming and a desire to do the "right thing" and never hear that it is done out of a desire to be lazy. Don't be lazy, be proud.
End rant :)