3 ms·
People who say Good programmers are lazy are obviously using the word in a different context than what the author of this article is talking about. She even men
by kaens 18y ago
People who say Good programmers are lazy are obviously using the word in a different context than what the author of this article is talking about. She even mentions this.
She then proceeds to say that it's a "cry for attention", like a skinny girl calling herself fat. It is not, it is an honest statement, and frankly the meaning of it isn't far from the classical definition of laziness.
You know why I write shell scripts? It's not because I'm concerned about clarity, or modularity, it's because I don't want to type "dhcpcd -k wlan0 && iwconfig wlan0 essid $ESSID && dhcpcd wlan0" more than once. This is why people have made things like paste, or abbrevs.
When I'm writing application code, sure I'll be more concerned with clarity, modularity, efficiency, and the rest of it than I am when I'm basically pasting some command commands into a script - but a good bit of the abstraction that I do in application code also stems out of laziness. I just don't want to type that shit in again, if only a little bit of it would change. Laziness is one tool I use to discover abstractions worth having.
Sure, copy-and-paste works too - but that's only laziness in the short-term, and often generates an assload of work in the long-term. Most people who have been writing code for any length of time know this.
I'm lazy for the long-haul.
She's correct that simplicity and elegance are hard, and that striving for them is not lazy. I can tell you that some of the repetition-saving abstractions I have made before are neither simple nor elegant, and didn't take much striving.
I don't think that anyone ever claimed that good programmers are just lazy. Laziness without that strive for simplicity/elegance/clarity leads to hard to maintain code. However, I have yet to meet a coder that I had any respect for that didn't twitch and the prospect of having to perform the same task on a computer more than twice though - and that's because that means it could be automated, and they "didn't want to have to do that shit over and over", not because there was necessarily a beautiful abstraction to be found there.
But uh, yeah. That probably sounded a lot harsher than I intended it to. I think I should get some sleep now.