Lies Programmers Tell Themselves 452
itwbennett writes "Everybody lies to themselves now and again in both their personal lives ('my bathroom scale probably needs to be recalibrated') and professional lives ('this code doesn't need commenting'). ITworld has compiled some of the common lies programmers tell themselves. Here are a few examples: 'This bug won't take long to fix.' 'No one could possibly fail to understand my simple user interface.' 'Code is self documenting.' 'My homebrew framework will be nimble, lightweight, debugged, and easy to use.' 'I know this is dirty code, I will rewrite it later.' 'It's just one line... it won't break anything.' '"It works on my machine.' 'I don't need version control.' 'It's written in ____, so it'll be easy to ____.' What would you add to this list?"
Lame (Score:5, Interesting)
Most of these are obvious and well understood.
Some (slightly less obvious) ones:
- Something must be wrong with this library (that is used successfully by everyone else)
- Theoretically two threads could try to change that variable at the same time, but it’ll never actually happen
- Just about anything starting with "no one will ever"
- Anyone who wants to use this class will look at the code / documentation and see that they can't actually use it in that (usually intuitive) manner.
Also can we please stop posting articles from itworld. They are all the same: tiny bits of content split over a ridiculous number of pages to maximize ad revenue.
Seriously, this is like 1990s levels of ad spamming. First you have the full window click through ad, then you have ads on every 10 word slide, a click through in the middle of the slides, and then just for good measure the last slide isn’t a content slide but yet another ad!
I feel like I need 10 levels of toolbars and bonzo-buddy running in the background to really appreciate the experience of this site.
Re:Number 1 in my experience (Score:2, Interesting)
A conditional with a false premise is always true.
"If the code is done, then I will document it." is always true.
https://en.wikipedia.org/wiki/Logical_conditional#Truth_table
I don't need to worry about security... (Score:4, Interesting)
I'm behind a firewall
Re:abstract wacky name (Score:5, Interesting)
Gentoo is a kind of (species of) penguin, just as Gentoo Linux is a kind of (distribution of) Linux.
look at 'bluetooth' (Score:3, Interesting)
it's still just as confusing & alienating
Look at Bluetooth's name origin...***technically*** you can see what they were thinking but that doesn't make it any less confusing:
via wiki
It's just too much...
I know that every "wacky abstract name" probably has **some** kind of funny quirky story...that doesn't make it a useful name
Re:This job is only temporary. (Score:5, Interesting)
Management says that this patch of 60-hour weeks is just a fluke and once everything is back on track it won't happen again.
It'll save time in the long run (Score:4, Interesting)
Re:Hofstadter's Law (Score:4, Interesting)
It works both ways -- everyone else believing that lie is the only way I ever get anything done!
"Oh, I'm not allowed to build this trivial-but-handy data-driven web app in a day? I have to write a spec so I.T. can spend 6 months totally overbuilding it (and implementing it badly and no one will be happy with the result)? OK then... Well, it's very code-driven... I can actually make a working prototype and take screenshots faster than I could build a wireframe. Let me just whip up a quick prototype and let a couple people use it so we can make sure that my idea matches what they want, and then if they like it, I'll write up something that you can give to I.T."
... Years later, mine is still in use. And working just fine, thankyouverymuch, with nary a hiccup. And yet I still have to keep doing this trick, even after I point out my past successes. Luckily, they keep falling for it. I feel like Lucy holding the football for Charlie Brown.