Slashdot Mirror


Lies Programmers Tell Themselves

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?"

48 of 452 comments (clear)

  1. Hofstadter's Law by Kensai7 · · Score: 5, Insightful

    "It always takes longer than you expect, even when you take into account Hofstadter's law."

    --
    "Sum Ergo Cogito"
    1. Re:Hofstadter's Law by arkhan_jg · · Score: 5, Funny

      "I'll just fix this quick and dirty for now, management will allow me time to redo it properly later."

      --
      Remember kids, it's all fun and games until someone commits wholesale galactic genocide.
    2. Re:Hofstadter's Law by mwvdlee · · Score: 4, Insightful

      "I'll update the documentation to match the implementation".

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    3. Re:Hofstadter's Law by mooingyak · · Score: 4, Insightful

      "I'll just fix this quick and dirty for now, management will allow me time to redo it properly later."

      The standard method for that is to grossly overestimate something else and then fix the original in the extra time.

      --
      William of Ockham had no beard. The most likely explanation is that it was chewed off by squirrels every morning.
    4. Re:Hofstadter's Law by sootman · · Score: 3, 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.

      --
      Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
    5. Re:Hofstadter's Law by BasilBrush · · Score: 3, Funny

      If I use "cunt", "fuck" and "shit" for variable names whilst I'm hacking something out, I'll be sure to come back later and give them proper names before I submit the code.

  2. Lame by Anonymous Coward · · 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.

    1. Re:Lame by norminator · · Score: 3, Funny

      I liked how on the full-page had it said "Your article is loading", as if the ad was only there to fill in the time it takes to load and process the article... In an article about lies...

  3. This job is only temporary. by AioKits · · Score: 4, Funny

    My personal favorite! *sigh* Oh well.

    --
    "Quote me as saying I was mis-quoted." -Groucho Marx
    1. Re:This job is only temporary. by K.+S.+Kyosuke · · Score: 3, Funny

      "If I learn to write better code, they'll give me a pay raise for certain!"

      --
      Ezekiel 23:20
    2. Re:This job is only temporary. by NotDrWho · · 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.

      --
      SJW's don't eliminate discrimination. They just expropriate it for themselves.
    3. Re:This job is only temporary. by Guppy06 · · Score: 4, Funny

      "I'm appreciated here!"

  4. Lies by boundary · · Score: 5, Funny

    "My facial hair makes me look interesting and makes up for my lack of social graces."

    1. Re:Lies by Anonymous Coward · · Score: 5, Informative

      "I don't think anyone will smell this fart."

  5. abstract wacky name by globaljustin · · Score: 3, Insightful

    "I need to pick wacky, completely abstract name (that have nothing to do with function) for the new thing I made...that's a novel idea that will make it easy for people to remember!!"

    ex: Yahoo, whatsapp, tumblr, Gentoo, etc etc

    --
    Thank you Dave Raggett
    1. Re:abstract wacky name by mrchaotica · · Score: 5, Interesting

      Gentoo is a kind of (species of) penguin, just as Gentoo Linux is a kind of (distribution of) Linux.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    2. Re: abstract wacky name by jd2112 · · Score: 3, Informative

      Named for their founders, Henry Ford and Walter Chrysler respectively.

      --
      Any insufficiently advanced magic is indistinguishable from technology.
    3. Re:abstract wacky name by NotDrWho · · Score: 4, Insightful

      GIMP is just a cute acronym for "GNU Image Manipulator," and will in no way make people not take this application seriously or hesitate to adopt it in any serious environment.

      --
      SJW's don't eliminate discrimination. They just expropriate it for themselves.
  6. Number 1 in my experience by mbone · · Score: 5, Funny

    I'll document this code once I'm done.

    1. Re:Number 1 in my experience by pr0fessor · · Score: 5, Funny

      catch(exception x) { //You've been eaten by a grue. } is error handling.

  7. The new manager will be less of an idiot by El_Muerte_TDS · · Score: 3, Funny

    n/a

  8. Lie 10 by n1ywb · · Score: 5, Informative

    Lie 10: itworld.com has interesting, informative, insightful, and meaningful content.

    --
    -73, de n1ywb
    www.n1ywb.com
  9. Terrible Article by Anrego · · Score: 4, Insightful

    We arn't beating a dead horse here. We are beating the pink stain on the floor where the horse used to be. While we are at it, lets talk about how shitty airline food is.

    My contribution: this is just a prototype to show that this will work, the real version will be implemented properly.

    1. Re:Terrible Article by jaymz666 · · Score: 4, Insightful

      None of these hard coded values will make it into production, we'll rewrite those entire sections and use property values and external variables to define them.

  10. we'll be greeted as liberators by lemur3 · · Score: 5, Informative

    oh uhh lies programmers tell themselves..

    how about

    this new website design is going to be great, our users will love it!

    1. Re:we'll be greeted as liberators by Anrego · · Score: 5, Insightful

      "All our users are complaining bitterly about these changes, but I'm sure once they get used to it they will see we had it right all along."

      See also: gnome

  11. The Whopper by American+AC+in+Paris · · Score: 5, Insightful

    "Well if you let the programmers run the show, things would be so much better."

    --

    Obliteracy: Words with explosions

  12. Annoying link! by antdude · · Score: 4, Informative

    http://deslide.clusterfake.net... OR http://desli.de/11IH for one ugly web page to read all at once! ;)

    --
    Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
  13. Re:Commenting code by PvtVoid · · Score: 5, Informative

    Good code rarely needs commenting though. Too many comments are often an indicator of poorly organized code.

    Dear person who thinks that "good code rarely needs commenting": the entire world wants to beat you senseless with a nine iron.

    You're welcome.

  14. How about the IT-WORLD programmers? by dmomo · · Score: 5, Funny

    1) People will enjoy this content more if it's in a slideshows.
    2) It's OK if ad-blocking breaks my core javascript functionality.
    3) Nobody is going to view this site in a modern browser.

  15. Some ones from our most recent project by sandytaru · · Score: 3, Insightful

    * Changing X will have absolutely no effect on Y since I don't know any place where Y references X.

    * I'll just take care of all the small bugs first before tackling this monster deliverable.

    * Pulling this code out of the client and putting it into a store procedure won't break anything.

    --
    Occasionally living proof of the Ballmer peak.
  16. I don't need to worry about security... by SwashbucklingCowboy · · Score: 3, Interesting

    I'm behind a firewall

  17. Another by 93+Escort+Wagon · · Score: 3, Insightful

    As soon as I've finished the main part, I will go back and deal with any sections I've flagged with # TODO

    --
    #DeleteChrome
  18. Favorite statement on this topic by ThatsNotPudding · · Score: 4, Funny

    "Screw comments! It was hard to write, it should be hard to read!"

  19. It's very basic by portwojc · · Score: 3, Insightful

    It should work in any browser.

  20. Lie #11 by EvilSS · · Score: 3, Insightful

    "Users love slide shows!"

    --
    I browse on +1 so AC's need not respond, I won't see it.
  21. How about adding.... by Anonymous Coward · · Score: 3, Funny

    I have lots of time to get this code done.....I'll catch up on Slashdot's articles......

  22. "This code is shit" by ralphtheraccoon · · Score: 4, Insightful

    What the ? I can't understand this code straight away without thinking about the problem or why they wrote it this way? It's shit!

    Actually, a lot of problems are complex, and there isn't a single straightforward way to implement it. It could be that doing it the obvious way works - up to a certain point, and then the whole thing needs writing in a new totally non-obvious more complex way, in order to cope with x. (latency, bandwidth, text encoding, ACID compliance, European data protection law, occasonal data spikes which make the stack explode if you use a recursive function, certain servers only having python 2.6 on them still, etc. etc. etc.)

  23. That's by far not complete by Opportunist · · Score: 4, Insightful

    "These specs are now exactly what the client wants, no need to think of eventualities"
    "Nobody will ever need that feature"
    "I don't need to comment that, it's obvious what it does"
    "Once the prototype runs, it's going to be easy"
    "I'll do it right, then I'll never ever have to touch it again"
    "One last meeting to go to"
    "There's no possible way this could become a security risk"
    $change + "can't break anything"
    "It COULD create a race condition in theory, but it can't happen in reality"

    And finally, the ever popular
    "I'll just slap something together now so we can ship it, I'll eventually get around to do it right"

    --
    We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  24. Oh frameworks... by razathorn · · Score: 5, Insightful

    Let us not forget that almost every framework you "should use" started out as a framework that "shouldn't be written." Only after enough people changed their mind, did the original author(s) become visionaries instead of "people who reinvented the wheel." I find that the tendency to "don't write that, it's already been written!" has been greatly blown out of proportion and people are allergic to actual software engineering. In other words, if they do more than extend / implement a predefined interface or glorified configuration on a single class instance... like heaven forbid they define an interface, base class, or object model with multiple things that derive it, then by god, they've gone too far! There is a time and place for frameworks, and realizing that the time and place isn't "every freak'n time" is just as important as not constantly reinventing the wheel.

  25. Re:gotta love a site... by American+AC+in+Paris · · Score: 4, Funny

    that does not work _at_all_ if you have a halfway decent content- and tracking-blocker installed

    ...well, once you've blocked the content, and once you've blocked the tracking, there's not much left to work with, yeah?

    :D

    --

    Obliteracy: Words with explosions

  26. From Scratch by asylumx · · Score: 5, Insightful

    "If we rewrite this from scratch, it'll be WAY better!"

  27. I don't need to fix compiler warnings. by Z00L00K · · Score: 4, Informative

    People that don't think that they need to fix compiler warnings produce programs that aren't always reliable.

    And even if the code is free of warnings - there may still be a need to run 'lint', 'findbugs' or any similar tool that does a more thorough analysis of the code in order to detect problems that can grow over time.

    --
    If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
  28. loyalty by Anonymous Coward · · Score: 5, Funny

    If I keep working these extra hours, the company will reward me with big raises and job security.

  29. It'll save time in the long run by js_sebastian · · Score: 3, Interesting

    I think you have the wrong xkcd https://xkcd.com/974/ BTW, this one is on the door to my office.

  30. Re:but it does work on my machine by R3d+M3rcury · · Score: 4, Insightful

    As it was explained to me by a marketing guy, "Unfortunately, 'your machine' is not a sufficiently large market."

  31. Game developers of late: by jaymz666 · · Score: 3, Insightful

    Our multiplayer servers can handle the load on release day

  32. Interface lies: the ones that make users hate us. by gestalt_n_pepper · · Score: 4, Insightful

    Here's a short list of interface lies....

    1) My error message is meaningful and helpful.
    Sure. Like, "Can't find file" with no explicit reference ON THE DIALOG as to the the file name you typed in or the path it was supposed to be in, because God knows, we wouldn't want the user to be able to tell IN A SECOND where the problem was. No, let's make the user *dig* for it.

    2) It's OK to shove warning and alert dialogs into people's faces.
    After all, when we're at a restaruant, don't we *all* want the waiter to interrupt every few seconds with the night's special, warnings about peanuts, and the effect of alcohol on pregnant women. It's just as wonderful and helpful in software.

    3) It's OK to make users wait.
    Because users care *so much* about your little issues with processes or your inability to put things into separate threads while you keep the interface alive. I mean, when you're in a restaurant, don't you *love* it when the waiter ignores you because they've got something better to do?

    4) It's best to steal input focus from the user.
    After all, who knows where they'll type? And so what if they're already doing something else, what could be more important than MY little dialog? Modal dialog, of course, because they shouldn't do anything else until they pay attention to ME!

    5) We'll help the user by refreshing his whole screen!
    I mean, there's just nothing better than the waiter who rearranges everything on the table after you've started eating, just to make sure you have everything and the food is truly fresh! Of course, this couldn't be a bad habit of lazy, uncaring programmers who couldn't be bothered to get the screen or list right the first time before presentation. No. Certainly not.

    --
    Please do not read this sig. Thank you.