Slashdot Mirror


Ask Slashdot: What Are Some Lies Programmers Tell Themselves?

snydeq writes: "Confidence in our power over machines also makes us guilty of hoping to bend reality to our code," writes Peter Wayner, in a discussion of nine lies programmers tell themselves about their code. "Of course, many problems stem from assumptions we programmers make that simply aren't correct. They're usually sort of true some of the time, but that's not the same as being true all of the time. As Mark Twain supposedly said, 'It ain't what you don't know that gets you into trouble. It's what you know for sure that just ain't so.'" The nine lies Wayner mentions in his discussion include: "Questions have one answer," "Null is acceptable," "Human relationships can be codified," "'Unicode' stands for universal communication," "Numbers are accurate," "Human language is consistent," "Time is consistent," "Files are consistent," and "We're in control." Can you think of any other lies programmers tell themselves?

548 comments

  1. Lies? by msauve · · Score: 1, Funny

    That they never GOTO work.

    --
    "National Security is the chief cause of national insecurity." - Celine's First Law
    1. Re:Lies? by Tokolosh · · Score: 5, Informative

      "I am worth what they pay me."
      "I am an engineer."
      "Users wish they knew who created this wonderful software."

      --
      Prove anything by multiplying Huge Number times Tiny Number
    2. Re:Lies? by MikeB0Lton · · Score: 4, Insightful

      DevOps will solve our problems.

    3. Re:Lies? by davester666 · · Score: 5, Insightful

      "I'll clean up this code later."

      --
      Sleep your way to a whiter smile...date a dentist!
    4. Re:Lies? by quenda · · Score: 5, Insightful

      Number one lie:

      "Yes, this program/module/milestone will be completed on schedule. "

    5. Re:Lies? by freeze128 · · Score: 4, Insightful

      "I'll document this code later."

    6. Re:Lies? by Anonymous Coward · · Score: 1

      "I am worth what they pay me."

      Why would this be a lie? Most developers produce software that generates their company many orders of magnitude more profits than they earn, so developers are typically worth far more than what they usually actually earn.

      Even when I was junior I was earning the equivalent of about $60,000 USD, but the development I was doing with very little input from anyone else was directly pulling in over half a million USD in sales. How is that not worth it? Most businesses would love to get a half million dollar return on a $60k investment, and I think this story is similar for most developers.

      This is precisely why developers are in so much demand that the supply can't be met - because most of them are genuinely a cash cow.

    7. Re: Lies? by Anonymous Coward · · Score: 0

      Someone will read my documentation.

    8. Re:Lies? by fisted · · Score: 4, Funny

      "I'll have sex later."

    9. Re:Lies? by Anonymous Coward · · Score: 0

      "I am worth what they pay me."

      Why would this be a lie? Most developers produce software that generates their company many orders of magnitude more profits than they earn, so developers are typically worth far more than what they usually actually earn.

      Even when I was junior I was earning the equivalent of about $60,000 USD, but the development I was doing with very little input from anyone else was directly pulling in over half a million USD in sales. How is that not worth it? Most businesses would love to get a half million dollar return on a $60k investment, and I think this story is similar for most developers.

      This is precisely why developers are in so much demand that the supply can't be met - because most of them are genuinely a cash cow.

      So you are saying your development had zero external testing? marketing? infrastructure costs? office space? purchasing costs etc? or are you just bullshitting us and ignoring the real cost which is likely several times what you were paid.

    10. Re:Lies? by Anonymous Coward · · Score: 0

      Directly responsible? With no external input from humans?

    11. Re:Lies? by AmiMoJo · · Score: 5, Interesting

      Where do you draw the line on being an engineer? Seems like a good topic for a discussion.

      I think of myself as an engineer, but then again I work at a pretty low level (C/assembler, no OS) and do hardware design too (design, schematic capture, PCB layout). I engineer whole systems, engineer firmware from the ground up.

      The desktop guys... Well, some of the stuff they do is just plugging modules together. But they also build stuff, like web platforms, and have to know how to assemble the modules and write all the glue code. Maybe it's not so different from when I use chips made by other people, rather than building op-amps and microcontrollers out of transistors.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    12. Re:Lies? by SCVonSteroids · · Score: 1

      Damnit no wonder I'm so lonely

      --
      I tend to rant.
    13. Re:Lies? by Anonymous Coward · · Score: 0

      Number two lie:

      "I'll go back and fix this messy section of code later."

    14. Re:Lies? by squiggleslash · · Score: 2

      I honestly can't remember the last time I used an explicit GOTO. That said, exception handling in most programming languages seems to actually be worse and I've used that.

      Some time ago, someone proposed a spoof programming language, whose name temporarily escapes me, that included just about every bad idea possible. This included a "COMEFROM" structure that replaced GOTO - instead of marking where you wanted the jump at the location of the jump, you instead marked at at the location you jumped to.

      Guaranteed unreadable. Worse than GOTO. And, hey, guess what, that's pretty much what exception handling is in 99% of implementations. The only way around it is to put one statement, and one statement only, in your try { ... } block, and who does that?

      --
      You are not alone. This is not normal. None of this is normal.
    15. Re: Lies? by dougdonovan · · Score: 2

      i like my job...i like my job.

    16. Re:Lies? by Big+Hairy+Ian · · Score: 1

      Anyone can read my code!

      --

      Build a Man a Fire, and He'll Be Warm for a Day. Set a Man on Fire, and He'll Be Warm for the Rest of His Life.

    17. Re:Lies? by Big+Hairy+Ian · · Score: 1

      There are no bugs in my code

      --

      Build a Man a Fire, and He'll Be Warm for a Day. Set a Man on Fire, and He'll Be Warm for the Rest of His Life.

    18. Re:Lies? by Oswald+McWeany · · Score: 1

      Right after I clean the Cheetos dust off my keyboard and mouse.

      --
      "That's the way to do it" - Punch
    19. Re:Lies? by Bongo · · Score: 1

      Dictionary says, "a person who uses scientific knowledge to solve practical problems".
      That raises question, is programming a science or art, or somewhere in between, like a disciplined craft?
      Is a cook an engineer because he or she knows the correct way to poach an egg?
      Does working with hardware make it more engineering than working with purely software?
      Maybe the difficulty with definitions is that engineering often involves the physical world (physiosphere) but approached with a lot of knowledge held in the mind (the noosphere), and whilst there is a lot of discipline in erecting a bridge, there is also a lot of discipline in how to think about the bridge in the first place.
      So I suspect that when people say "engineer" they mean that there is a lot of careful, rational, knowledgeable design going on.

    20. Re:Lies? by AmiMoJo · · Score: 2

      Interesting way of defining it. For me I certainly do have to consider the physical world, even when writing firmware code. For desktop... Well, we mock patents that are just something that happens in the real world by "on a computer", so maybe building virtual stuff counts too.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    21. Re:Lies? by Anonymous Coward · · Score: 0

      No marketing required as they were typically bespoke client requests, worked from home, and what would we purchase? other than the visual studio license then sure, take a couple of grand extra off for that, you're still getting over a 400% return on your investment even if you factor in the costs such as my share of payroll's time to process my salary etc.

      There's no escaping the fact that developers typically give returns that are vastly larger than their salary no matter what costs you include - profits on software projects are high, normally 60% profit margin is a minimum goal in the industry. If your developers aren't worth their salary then you must be utterly failing as a business in terms of what you're asking them to develop.

    22. Re:Lies? by Anonymous Coward · · Score: 1

      Where do you draw the line on being an engineer?

      Have you studied physics, chemistry, and thermodynamics? Do you have an engineering degree from an ABET-accredited university? Do you hold a Professional Engineer license?

    23. Re:Lies? by vakuona · · Score: 1

      The value of a developer is dictated by the value of what they produce, but their cost (as in what a developer is paid) is determined by two things (1) the cost of a replacement developer, and generally what another developer with a similar skillset, will demand, and (2) what the same developer is able to earn elsewhere.

      In a reasonably working labour market, (2) is implied by (1).

    24. Re:Lies? by DickBreath · · Score: 1

      I read it online, so it MUST be true!

      Do what management says because they know best.

      They couldn't possibly hire anyone that can replace me.

      This change is so small and inconsequential that it doesn't need to go through the formality of testing and staging.

      If one of the power supplies in a server is on fire, best practice is to notify all of the stakeholders to schedule a meeting to resolve the issue and put out the fire.

      Trump will direct NASA to redesign SLS to use coal. Effective April 1, 2017.

      --

      I'll see your senator, and I'll raise you two judges.
    25. Re:Lies? by srmalloy · · Score: 1

      "The database definition requires this field to be populated; I don't need to check to make sure it's not NULL."

    26. Re:Lies? by Anonymous Coward · · Score: 1

      That's called Intercal and "fixed" every "wrong" that language designers talked about at that time.

    27. Re:Lies? by arth1 · · Score: 1

      Where do you draw the line on being an engineer? Seems like a good topic for a discussion.

      One that designs based on actual data and tolerances.

      What the overwhelming majority of programmers do has nothing to do with engineering, and more to do with jerry building.

    28. Re:Lies? by null+etc. · · Score: 1

      I've seen far more problems caused by a lack of DevOps than I've seen from DevOps implemented well or even moderately passable.

    29. Re:Lies? by arth1 · · Score: 1

      Is a cook an engineer because he or she knows the correct way to poach an egg?

      If he designed his own method for poaching it based on actual scientific data and tolerances, sure. Being able to read a recipe book or repeat what someone else has decided is "correct" has nothing to do with engineering. Then you're an operator.
      And if you're able to modify the recipe to fit the kitchen, perhaps adjusting the amount of water, acid or cooking time because the original recipe doesn't work, you're still not an engineer, but might be worthy of technician.

    30. Re:Lies? by Ihlosi · · Score: 1
      Is a cook an engineer because he or she knows the correct way to poach an egg?

      He or she is a technician in the field of (chemical, biological, thermal and mechanical) process engineering involving food.

    31. Re: Lies? by maple_shaft · · Score: 1

      Anybody that does any kind of programming is working on an abstraction level of some kind all the way down to the transistors connected together to form a basic NAND gate. Judging each other as "Not a True Scotsman" is nothing more than a dick measuring contest. Engineering is a codified discipline for the practical application of principles based in science to build pragmatic solutions in an ethical way.

    32. Re:Lies? by ranton · · Score: 2

      Why would this be a lie? [...] Even when I was junior I was earning the equivalent of about $60,000 USD, but the development I was doing with very little input from anyone else was directly pulling in over half a million USD in sales.

      I highlighted the lie he was talking about in your statement. If there was really very little input from anyone else, you really should have went into business for yourself and made that half million dollars directly. But my guess is your work required your company's existing products/services, clients, marketing, client services, business processes, etc to make that $500k. You might not have needed many people on your team, but there was still a huge infrastructure put in place by your employer to attain that revenue.

      Your value is more related to your replacement cost, and the extra value you bring in as opposed to your potential replacement. If another programmer making $60k per year could have also wrote software that made your company $500k, then you were worth $60k. It should be noted that this is no different than the value your employer's goods and services have in the marketplace. The value is in comparison to alternatives in the marketplace, not simply the ROI the buyer can make on the purchase.

      --
      -- All that is necessary for the triumph of evil is that good men do nothing. -- Edmund Burke
    33. Re:Lies? by Anonymous Coward · · Score: 0

      So it's like any other modern language:)

      State machines, boolean flags, inheritance, threads, delegates, events, init order, coroutines, exceptions, mutable data that's being accessed from several sources at the same time.. heck, sometimes you indeed see these being used to implement the comefrom-pattern.

    34. Re:Lies? by waveclaw · · Score: 1
      Just because the standard for a title where you live is low enough to admit anyone who self-identifies does not mean that other people place a lot of value in their definition of that title.

      Depending on where you work there is a very clear line for being an engineer. In many cases Engineer is a protected title with legal obligations.

      Only passing the PE as an EIT can you actually call yourself an Engineer in Texas. Even software developers in Texas, USA have to site before the Board of Professional Engineers and pass the Exam to call themselves an Engineer.

      You can't just walk in with your freshly minted Software 'Engineering' degree from an ABET certified college program. You have to be a Texas Engineer in Training (EIT) to register to take the PE exam. That is usually having worked under a PE mentor in the capacity you are training for.

      This is very similar to other protected titles in other counties like Registered Pharmacist in the UK.

      This title caries with it a lot of ethical and legal requirements that most "coders" or "programmers" would not be able to meet just based on the code they write. But such titles carry with it the authority to tell management where they can stick it when they ask for faster, cheaper by cutting corners that are not Salespeople Features.

      The biggest lie, just based on the number of empty GitHub Projects is probably "I can do this."

      --

      "You cannot have a General Will unless you have shared experiences. You cannot be fair to people you don't know."
    35. Re:Lies? by Anonymous Coward · · Score: 0

      In Canada, at least, you need to pass the professional engineer exams.
      If I hear a software developer call their self an engineer that alone isn't enough for me to trust that they know what the fuck they are doing.

    36. Re:Lies? by Anonymous Coward · · Score: 0

      > That they never GOTO work.

      Going to work considered harmful.

    37. Re:Lies? by david_thornley · · Score: 1

      I believe you're thinking of Intercal, whose control structures were based on COME FROM and COME FROM UNLESS, provided there were enough PLEASEs in the code.

      Exception handling is for exceptional situations, and should be used only in cases where what happened is significantly more important than exactly where it happened, for example the inability to allocate memory.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    38. Re:Lies? by micahraleigh · · Score: 1

      5th grade (25 years ago)

    39. Re:Lies? by Anonymous Coward · · Score: 0

      Easy to tell which of the above are in management, isn't it?

    40. Re:Lies? by Anonymous Coward · · Score: 0

      What I am designing/building/supporting has lasting value and won't be rewritten or discarded in 10 years or so.

    41. Re:Lies? by EndlessNameless · · Score: 1

      Where do you draw the line on being an engineer? Seems like a good topic for a discussion.

      An engineer has all of the skills of a technician in the field, plus a deep theoretical understanding of the field which allows him to create new devices or improvise solutions reliably.

      There are generally quality and liability assurances with professional engineers which are absent from software engineering. However, these are social/legal concerns which do not relate directly to the skills and knowledge of the individual.

      I believe there should be a software engineering profession with licensing and liability. Fields with public health and safety concerns should be required to employ engineers in good standing rather than unlicensed programmers (e.g., the automobile, food, medical, aviation, and space industries).

      --

      ---
      According to the latest ruleset, this post should be modded as Vorpal Flamebait +5.
    42. Re:Lies? by nasch · · Score: 1

      The idea is you have logging that tells you what happened. If necessary that will include a stack trace that indicates exactly where the error occurred. I think some IDEs can highlight the statements that could trigger the caught exception. Do you often find yourself looking at a catch block and needing to know what throws to it? If so, why? If not, then it isn't a problem.

    43. Re:Lies? by dranga · · Score: 1

      I think that was Intercal... Though, in a way, catching an exception is just a dynamic form of the comefrom statement...

      --
      Oh no, not again.
    44. Re:Lies? by squiggleslash · · Score: 1

      The idea is you have logging that tells you what happened. If necessary that will include a stack trace that indicates exactly where the error occurred.

      Computers do not read logs, nor do they parse stack traces. If you're at the point you're reading a log or stack trace, then there's obviously a serious problem with your code. Subtle problems are likely to never appear.

      Do you often find yourself looking at a catch block and needing to know what throws to it?

      Alas. Yes.

      If so, why?

      Because structurally it encourages developers to hide issues rather than handle them at the time. Exceptions are rarely exceptional, they're thrown over common situations such as files not existing or servers not responding with data over a network.

      Really we need to rethink what we use exceptions for - and, indeed, if we should have them at all.

      --
      You are not alone. This is not normal. None of this is normal.
    45. Re:Lies? by Dixie_Flatline · · Score: 1

      I rarely find it's programmers that say this, it's people that are programming adjacent that say this.

      Programmer:
      "This'll be finished on time barring "

      Manager/Marketing/Whoever:
      "It'll be done on time? Great! NO BACKSIES"

    46. Re:Lies? by luis_a_espinal · · Score: 1

      Where do you draw the line on being an engineer? Seems like a good topic for a discussion.

      One that designs based on actual data and tolerances.

      What the overwhelming majority of programmers do has nothing to do with engineering, and more to do with jerry building.

      As someone that works under the title of software engineer, I agree with this, except with the jerry building part. There is jerry building and there is jerry building, one on actual data and tolerance, one done as a craft, and one where people throw shit at the wall and package whatever sticks.

      If you apply the scientific method to your work, have clear tolerances and work on actual data, or data inferred by some type of model, then shit, a lot of software jerry building then also accounts as engineering (and there is lot of that.)

      But it is also true a lot of what is done in software is not engineering, not even craft (but shit flinging.) The field of software is still too young to clearly define what is engineering and what is craft (and far more dynamic than most fields that have come before it.)

    47. Re:Lies? by havana9 · · Score: 1

      "I am an engineer."

      I am a Chartered Engineer, actually.
      I work as a programmer for now. But for instance I could legally design and sign network and electrical wiring and lighting protection systems.

    48. Re:Lies? by Anonymous Coward · · Score: 0

      Where do you draw the line on being an engineer?

      Mentality really. At my last company I got to work closely with the electrical and mechanical engineers on the team. Apparently I was the first Software Engineer by title that they believed deserved it. We followed a lot of the same rigors and processes, and even though I wasn't formally trained in them they always seemed like "the right way to do things". Software may not traditionally have the equivalent of apprenticeship or IEEE certifications, but when "real" engineers start calling you one, I think that counts for something.

  2. uh huh by Anonymous Coward · · Score: 0

    i kin k0dz3rz!

    1. Re: uh huh by sycodon · · Score: 4, Funny

      I understand the task
      I have thought of all the possible test scenarios
      I have coded for all possible test scenarios
      The scope will not change

      --
      When Fascism comes to America, it will call itself Anti-Fascism, and tell you to give up your guns.
  3. "This system will cover all cases" by Anonymous Coward · · Score: 0

    "This system will cover all cases" and any paraphrase of AI being right around the corner.

  4. I'll document it tomorrow by El+Cubano · · Score: 5, Insightful

    I'll document it tomorrow

    1. Re:I'll document it tomorrow by Geoffrey.landis · · Score: 4, Insightful

      and "anybody can understand this by just looking at it, it doesn't need to be explained."

      --
      http://www.geoffreylandis.com
    2. Re:I'll document it tomorrow by Anonymous Coward · · Score: 1

      And "It's documented so nobody will ask that again"

    3. Re:I'll document it tomorrow by Anonymous Coward · · Score: 3, Insightful

      I suppose that makes me a honest programmer. I usually document stuff as I work because it helps me remember what I've done when I come back to it two years later. I also expand the comments of other peoples code or comment it from scratch because it helps me understand how the hell their code works.

    4. Re:I'll document it tomorrow by Anonymous Coward · · Score: 1

      "If I work extra hours to get this crisis resolved, they will see how awesome I am, give me a raise, and give me more say over my development priorities."

      "If I do this side-project on my own time, so that it is ready to go by the time they realize they need it, they will see how proactive I am, and what a rainmaker I am, and give me the salary and respect I deserve."

      "If I stay at this job for many years, they will reward my loyalty by giving me raises that not only keep up with market rates, but exceed them."

      "Searching for another job just to invite my employer into a bidding war over my salary is an asshole thing to do."

      Face the facts: people value that which they pay for far more than that which they receive for free. That includes your time and your talent. Furthermore, they want to keep as much of their money for themselves as they can, so they will do everything they can to pay you as little as you will accept. The *only* way you can get what you are worth is to force the issue.

    5. Re:I'll document it tomorrow by doesnothingwell · · Score: 1

      Short version, my boss says, "Your bonus is in the mail."

      --
      They can have my command prompt when they pry it from my cold dead fingers.
    6. Re:I'll document it tomorrow by Anonymous Coward · · Score: 4, Insightful

      That old code of mine is unintelligible rubbish. Thankfully I'm a much better programmer now, so this new code will be a monument of pure, self-evident brilliance.

    7. Re:I'll document it tomorrow by ancientt · · Score: 1

      If I think I'll have to do it at least twice and the program takes less time than doing it twice, then I'll write the program.

      If I actually have to do it twice, I add documentation the second time.

      --
      B) Eliminate all the stupid users. This is frowned upon by society.
    8. Re: I'll document it tomorrow by Kabukiwookie · · Score: 1, Insightful

      I don"t need to document my code. My code is the documentation.

      --
      The mountains of madness have many little plateaus of sanity - Terry Pratchett.
    9. Re:I'll document it tomorrow by Anonymous Coward · · Score: 0

      found the real programmer lie. they'd never say that.

      they never document.

    10. Re:I'll document it tomorrow by gnasher719 · · Score: 2

      "Searching for another job just to invite my employer into a bidding war over my salary is an asshole thing to do."

      It's not an asshole thing to do, it's a stupid thing to do. If you pull it off, you'll be gone within a year. If you don't pull it off, you'll still be gone within a year.

      Search for another job to find a new employer who is willing to pay you more for leaving your old job and starting with them.

    11. Re:I'll document it tomorrow by FalcDot · · Score: 1

      I would expand this to:

      "I'll have time to improve on this later."

      Documentation is certainly the most common improvement that gets postponed, but kludged together code will also tend to survive longer than expected.

    12. Re:I'll document it tomorrow by No+Longer+an+AC · · Score: 1

      "If I work extra hours to get this crisis resolved, they will see how awesome I am, give me a raise, and give me more say over my development priorities."

      This one.

      I actually came to say essentially the same thing.

      I went several years without a raise. I finally got a bonus one year. It was so small it was practically an insult. The CEO openly told us that we were lucky to even have jobs as he laid off our co-workers.

      I can't tell you how much schadenfreude I feel now that they are under criminal investigation now.

      One of the execs has been charged with "crimes against the financial system” in Brazil.

      I'm kind of surprised it isn't getting more press but I guess most of the corruption was in South America rather than their American assets. I'm sure it's just a coincidence that the family who runs that company shares the name of a Cuban dictator that was in power before Castro. Really, I am sure it's just coincidence. Batista is a common enough name.

      See Operation Car Wash and Operation Weak Flesh for more info. Who makes up these names?

      Completely unrelated video: Car Wash

      Dunno why, but I really appreciate that song even more now.

    13. Re:I'll document it tomorrow by Anonymous Coward · · Score: 0

      Anyone can understand what it's doing.

      Nobody knows why you chose this particular method, didn't choose another method, when it's intended to be used, etc

    14. Re:I'll document it tomorrow by swillden · · Score: 0

      and "anybody can understand this by just looking at it, it doesn't need to be explained."

      I beg to differ with this one. Code can be so clear and readable that no further documentation is required. It's just that writing such code is hard work, and never happens by accident.

      After your code is complete, all tests pass, etc., take another pass and look for anything that isn't clear. Whenever you find a section that seems to benefit from an explanatory comment, try to rewrite it so that the comment is no longer needed. In many cases, this is as simple as moving the bit of code to a well-named function -- essentially you're replacing the comment with the function name. In other cases, renaming variables, or introducing new variables explicitly so that you can provide them with good names does the job. In other cases reordering/restructuring the code so that it has a more linear progression, and addresses subproblems in a logical and consistent way is needed. And sometimes, at the end of all that, there's some part that just requires a comment. In that case, add it, but only after exhausting all other options.

      Then, let the code alone and do the same thing again tomorrow when your eyes are fresh. Then get a peer to review it (you're doing code reviews anyway, right?), and get their suggestions as to what isn't clear and obvious. Along the way, keep an eye out for bits of code that are clarified only by function and variable names, and look for ways to ensure that the function can't easily be changed in ways that invalidate the chosen names. Rinse, repeat until you reach the point that no more improvements can be found.

      If this sounds like a lot more work than just writing an explanatory comment, you're damned right it is. But it's also much better, because, other than docsctrings, which are great, comments are evil. Over time, code evolves and comments tend not to get updated. I'd much rather maintain hard-to-read code with no comments than hard-to-read code with comments that are wrong. And in easy-to-read code, comments are pointless at best and a waste of time at worst, because experienced developers know that you can't just trust that the comment is correct, you also have to read the code.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    15. Re:I'll document it tomorrow by DickBreath · · Score: 1

      "Management really means what they say when they talk about how they want us to build quality software."

      "Management really means what they say when telling us that they'll get us whatever we need to do the job properly."

      --

      I'll see your senator, and I'll raise you two judges.
    16. Re:I'll document it tomorrow by null+etc. · · Score: 1

      That old code of mine is unintelligible rubbish. Thankfully I'm a much better programmer now, so this new code will be a monument of pure, self-evident brilliance.

      I'm legitimately surprised whenever I try to rewrite something I've done previously, and fall short of my past efforts. There have been cases where I thought source code went missing, so I reprogrammed something, and eventually rediscovered the original source code and found it to be far superior.

      What, is solving technical problems actually making me more stupid?

    17. Re:I'll document it tomorrow by Rei · · Score: 1

      Or the more annoying:


      void fn193(dt_1011 a)
      {
      /* BEGIN FUNCTION */

      /* IF a is greater than 5 THEN*/
          if (a > 5)
          {
      /* Loop 10 times */
              for (int i = 0; i < 10; i++)
              {
      /* Call fn828 with arguments a and i */
                  fn828(a, i);
              }
      /* end IF statement */
          }
      /* end FOR loop */

      ...

      /* END FUNCTION */
      }

      .... without ever having mentioned why they're doing any of it. Yes, someone who used to work here actually programmed like that. A comment on almost every line, and none of them at all useful. :P

      They did sometimes have function headers. Unfortunately they were mostly cargo-cult style copies, full of meaningless cruft and long-outdated information, and... it almost hurts me to say this... doublespaced. ;)

      --
      Kneel Before Christ!
    18. Re:I'll document it tomorrow by Rei · · Score: 0

      I find that whenever I try to set a hard, fast programming rule, I find side cases where I honestly probably should break it. It doesn't matter what the rule is about - spacing, line wrapping, what belongs in a class vs. a standalone function, what files to put various pieces of code... whatever rule I make, I find cases where it probably would be better for me not to follow it.

      The same happens with comments. I'm very much in the school of long, descriptive function names and variables that are self-commenting. I hate coming across old, outdated comments that no longer apply to the code; with long, descriptive variable and function names, you can read what's happening and it's always up to date. And often that's enough. The code says what it's doing, it's straightforward... job done.

      But that's not always enough. Because it's one thing to say what's happening. But it's another thing to say "why". When was the last time you put the word "because" in a variable or function name? That's what comments should be for. Not what you're doing, but why you're doing it. Sometimes code just needs descriptive variable and function names. But sometimes you really need the "why" explained.

      --
      Kneel Before Christ!
    19. Re: I'll document it tomorrow by Zero__Kelvin · · Score: 1

      Which reminds me "Everyone will assume I'm right if I sound authorative, and say 'you're damned right it is' a lot" :-)

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    20. Re:I'll document it tomorrow by david_thornley · · Score: 1

      Comments should be high-level explanations. If any reasonable rewrite of a function would invalidate a comment, other than doxygen comments and similar, remove the comment. It won't be kept current, and will become misleading.

      One example of a useful comment would be why a certain approach isn't being used, or a brief comment mentioning the user request that caused you to write or change the code.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    21. Re:I'll document it tomorrow by orgelspieler · · Score: 1

      The crappier my code, the more I document it. I have been through some of my old code, and right where I was thinking "WTF dude?!" I see a comment along the lines of "you put this in here because there was a bug in somebody else's component, and this was the only work around. Do not try to 'fix' it!" Or my personal favorite: "PFM: Do not touch!"

    22. Re:I'll document it tomorrow by micahraleigh · · Score: 1

      +1. This! And the negative example where everyone wants to rewrite someone else's code because it's spaghetti.

    23. Re:I'll document it tomorrow by swillden · · Score: 1

      Concisely put.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    24. Re: I'll document it tomorrow by swillden · · Score: 1

      Which reminds me "Everyone will assume I'm right if I sound authorative, and say 'you're damned right it is' a lot" :-)

      Well, I am right, so that works :-)

      Maybe I should have said "you're damned right it is" more than once, to increase the authoritativeness quotient.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    25. Re:I'll document it tomorrow by swillden · · Score: 1

      Absolutely agreed. There are exceptions to every rule -- which doesn't make the rules any less valuable.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    26. Re:I'll document it tomorrow by Anonymous Coward · · Score: 0

      This! A thousand times this! xD

      Yeah sure the old stuff is crap, but the new stuff where we play around with futures and asynchronous processing will be marvellous

      2 month later: Oh yeah the old stuff is crap and there is this overcomplicated async stuff nobody understands and it runs like shit, but the new stuff we're building right now with [insert new pattern of the day]

  5. "I've done enough testing" by david.emery · · Score: 5, Insightful

    or even "My code is correct, so I don't need to test."

    1. Re:"I've done enough testing" by Anonymous Coward · · Score: 1, Insightful

      "Tabs are better than spaces"

      "Enforcing scope via indent was a good idea"

    2. Re: "I've done enough testing" by Ken_g6 · · Score: 2

      Along the same lines, "It was just a minor change, I don't need to test it."

      --
      (T>t && O(n)--) == sqrt(666)
    3. Re: "I've done enough testing" by Anonymous Coward · · Score: 0

      Both of these are great.

      I'd like to add a few:

      "I don't need unit tests."

      "I don't need integration tests."

      "Running this in production untested will be fine."

      "I know what I'm doing."

    4. Re: "I've done enough testing" by DickBreath · · Score: 1

      This is not a lie, but a true statement: ALL developers have a testing environment that they can deploy to. Some developers also have a production system that is separate from the testing environment.

      --

      I'll see your senator, and I'll raise you two judges.
    5. Re: "I've done enough testing" by Anonymous Coward · · Score: 0

      This is not a lie, but a true statement: ALL developers have a testing environment that they can deploy to.

      So if I don't have a testing environment, I'm not a developer? No True Scotsman much?

    6. Re:"I've done enough testing" by codlong · · Score: 1

      How about, "I don't have time to write tests."

    7. Re: "I've done enough testing" by Anonymous Coward · · Score: 0

      I just came off a job where the IT managers were bickering over why the corporate site was so slow.

      It turns out they had an analytics package running in Java on the production web server, stealing huge amounts of RAM from IIS. CPU and memory usage were pegged several times a day. An upgrade had wiped out the analytics DB and it was trying to rebuild it repeatedly, until it ran out of resources, quit, and had to start over from scratch.

      Now, I'm just a humble web dev, but it seemed fairly obvious to me that the ONLY thing your web server should be doing is serving web pages!

    8. Re:"I've done enough testing" by Jason+Levine · · Score: 1

      This bit me hard years back. I had made a "minor change" and pushed it live on a Friday afternoon. (Do you hear the sirens blazing yet?) That weekend, my parents were visiting so I was looking forward to some family time. Instead, I had to go into work on Sunday and debug the application because my "minor change" brought the whole system down.

      I learned two important lessons that day:

      1) Always test everything no matter how minor it seems.

      2) NEVER push something live on Friday - even if you've done all your testing. Wait until Monday to push it live so that your weekend isn't interrupted by support calls.

      --
      My sci-fi novel, Ghost Thief, is now available from Amazon.com.
    9. Re: "I've done enough testing" by DickBreath · · Score: 1

      ALL developers have a testing environment. You do. You may just be mis-naming it as a "production" environment.

      But SOME developers also have a production environment separate from their testing environment.

      Get the joke?

      --

      I'll see your senator, and I'll raise you two judges.
    10. Re:"I've done enough testing" by minstrelmike · · Score: 1

      the networking department we have is notorious for scheduling updates Friday at 5pm. They even tried to force us to change our standard timing for major updates but we refused. We release Tuesdays at 10am with everybody ready to take calls and fix foul-ups and that's when everyone is on the system actually using it. We do have folks who sign in over the weekedn but they aren't power users and their error reports leave a lot to be desired.

    11. Re:"I've done enough testing" by ebvwfbw · · Score: 1

      Supposedly Dijkstra used to say Error Checking is for Chumps. Yes, the C++ Dijkstra.

    12. Re:"I've done enough testing" by Anonymous Coward · · Score: 0

      "The C++ Dijkstra"??

      You're a goddamned moron.

    13. Re:"I've done enough testing" by david.emery · · Score: 1

      And all those users who you inconvenienced, or worse, in the middle of the day with an update, loved you for this....

    14. Re:"I've done enough testing" by minstrelmike · · Score: 1

      No. If there was a problem, they called Tuesday at lunch. They didn't _try_ calling someone Friday at 10pm.

  6. Seriously? by yodleboy · · Score: 5, Insightful

    "We'll fix it in the next release."

    1. Re:Seriously? by DickBreath · · Score: 1

      "There actually will be a next release, we can fix it then."

      --

      I'll see your senator, and I'll raise you two judges.
  7. That was a really small change. by Anonymous Coward · · Score: 1

    We can put it right into production.

  8. I'm just a hobby programmer but... by Dunbal · · Score: 5, Funny

    "One more compile then I'm going to bed..."

    --
    Seven puppies were harmed during the making of this post.
    1. Re:I'm just a hobby programmer but... by Anonymous Coward · · Score: 0

      "Git is better than SVN"

    2. Re:I'm just a hobby programmer but... by Anonymous Coward · · Score: 0

      "Git merge is better than SVN"

      FTFY

    3. Re:I'm just a hobby programmer but... by Anonymous Coward · · Score: 0

      Trying to think of a scenario where that's actually a lie.

    4. Re:I'm just a hobby programmer but... by Anonymous Coward · · Score: 0

      Trying to think of a scenario where that's actually a lie.

      Typical svn usage:
      svn commit .
      There's no step 2

      Typical git usage:
      git commit .
      git push
      unintelligible error message because it was designed retarded morons.
      Go back to using the the far superior svn

    5. Re:I'm just a hobby programmer but... by Dog-Cow · · Score: 2

      Sounds more like the message is unintelligible because it's being used by retarded morons.

    6. Re: I'm just a hobby programmer but... by Anonymous Coward · · Score: 0

      Different AC, but another programmer lie: "If users can't understand this software's user interface then they are retarded morons."

    7. Re:I'm just a hobby programmer but... by Anonymous Coward · · Score: 0

      Yup. Someone doesn't understand git.

    8. Re:I'm just a hobby programmer but... by petermgreen · · Score: 1

      Anywhere you care about being able to answer the question "what was on branch x on date y".

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    9. Re: I'm just a hobby programmer but... by Anonymous Coward · · Score: 0

      "Slashdotters are savvy enough to realize that AC isn't a single username so I don't need to spell it out loud that I'm a different AC every damn time"

    10. Re: I'm just a hobby programmer but... by Zero__Kelvin · · Score: 1

      In fact, with svn, if the network is down there is no step one either ;-)

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    11. Re: I'm just a hobby programmer but... by Anonymous Coward · · Score: 0

      In fact, with svn, if the network is down works perfectly fine when your repo is on the same computer.

      Fixed that for you.

  9. Biggest lie by Anonymous Coward · · Score: 0

    "I'll fix it later"

  10. It will be finished next week by Zemran · · Score: 2

    ... honest... repeat each week for six months.

    --
    I love stacking my barbecues in the shed at the end of summer - you can't beat a bit of grill on grill action.
    1. Re:It will be finished next week by Anonymous Coward · · Score: 0

      "It's 90% complete!"

  11. "I can make that deadline ..." by NoCleverName · · Score: 2

    "... including the testing."

  12. I know this language by Anonymous Coward · · Score: 0

    Pretty much every widely used contemporary language has grown so many features there are always unexplored corners, and sometimes whole disciplines, that any given programmer will never utilize or understand fully.

  13. Most coders by Jamu · · Score: 4, Insightful

    I'm a better than average programmer.

    --
    Who ordered that?
    1. Re:Most coders by K.+S.+Kyosuke · · Score: 1

      And by "most", you mean "half of them"? ;)

      --
      Ezekiel 23:20
    2. Re:Most coders by rtb61 · · Score: 1

      Better than the average programmer but still like warranties that guarantee nothing. It's like the warranties that programmers like, kind of prove how they are all equally bad.

      --
      Chaos - everything, everywhere, everywhen
    3. Re:Most coders by Anonymous Coward · · Score: 0

      I'm a better than average programmer.

      All the programmers that I have met in my long career that thought they were "good" programmers and/or "better" than others, always ended up sucking really bad.

    4. Re:Most coders by TsuruchiBrian · · Score: 1
      This is not mathematically true.
      A = set of all programmers. |A| = 100%
      W = set of programmers that are worse than average. |W| = 50%
      B = set of all programmers that believe they are better than average. |B| = ?%
      (W intersect B) is a subset of W and therefore |W intersect B| <= |W|

      Even if every programmer thinks they are better than average (|B| is 100%) then only half of programmers are lying (not most) to themselves.

      I, however, 100% agree with this sentiment. From my experience, I would guess that |W intersect B| is shockingly close to |W|, 50% (the theoretical maximum). Or to put it another way most bad coders believe the lie that they are better than average.

    5. Re:Most coders by Anonymous Coward · · Score: 0

      49% are better than average

    6. Re:Most coders by Sarten-X · · Score: 1

      This is also not mathematically true. You are assuming an even and symmetrical distribution of "better than average" and "worse than average" programmers, but the term "average" doesn't necessarily equal the median.

      If you have a number of exceptionally-good programmers, but few exceptionally-bad programmers, the average will be raised to where over 50% of your programmer population is actually qualified as "below average", regardless of their opinions about their skill.

      However, we must consider the dynamics of the programming industry. If someone is indeed a terrible programmer, they are likely to be driven out of the industry, either by their own choice or by management. On the other hand, the good programmers will usually be encouraged to stay. That puts a bias on the distribution, raising the average quality of programmers beyond the median quality of programmers.

      --
      You do not have a moral or legal right to do absolutely anything you want.
    7. Re:Most coders by Anonymous Coward · · Score: 0

      Are you suggesting that talented developers will or even should provide a warranty against bugs in their code (meaning, they fix bugs for free)?

      Here is why that makes no sense:

      1) The overwhelming majority of the time, the programmer is not in control of key aspects of the development process, all of which cause bugs. Examples include determining the deadlines (rushed code = buggy code), determining the required hours (overworked programmer = buggy code), determining the right amount of QA resources (too little investment in QA = buggy code), and enforcing requirement stability (changing requirements during development = buggy code).

      2) Desired features that turn out to be problematic are designated as bugs after the release. The developer has no say in this designation.

      3) The balance of incentives isn't right...the developer is paid a salary for his time, generally without any royalties or company equity. So the developer isn't actually providing a product and doesn't actually gain anything by fixing bugs for free.

      4) Developers who DO fix bugs for free don't get more business, nor a higher salary, than those that don't.

      For all of these reasons, it makes no sense that developers should give a warranty against bugs. The developer cannot prevent them, is not paid in a way that makes it economical to provide warranties against them, and does not benefit in terms of future business from providing such warranties. Under these circumstances, the desire for a warranty against bugs is pure greed and exploitation.

    8. Re:Most coders by Anonymous Coward · · Score: 0

      Fact #1) Most humans alive today have an above-average number of limbs.

      Fact #2) You don't actually understand how averages work.

    9. Re:Most coders by viperidaenz · · Score: 1

      That comes down to smart people realise they don't know what they don't know, so they know they don't know everything,
      Stupid people people don't realise this. Once they know a bit, they think they know it all.

    10. Re:Most coders by turbidostato · · Score: 2

      "1) The overwhelming majority of the time, the programmer is not in control of key aspects of the development process, all of which cause bugs. Examples include determining the deadlines (rushed code = buggy code), determining the required hours (overworked programmer = buggy code), determining the right amount of QA resources (too little investment in QA = buggy code), and enforcing requirement stability (changing requirements during development = buggy code)."

      And that's they lie developers tell to themselves that executives love the most: that somebody setting a deadline somehow makes it a law in stone. You promised it for tomorrow? You code it, or else, it'll be done when it's done, and not a minute earlier.

    11. Re:Most coders by TsuruchiBrian · · Score: 1

      Average is a general term that can refer to the mean or the median among other things. I would argue that phrase " is better than the average " implies a median average rather than a mean.

    12. Re:Most coders by mrvan · · Score: 1

      The majority of coders can actually be better than the mean (average) coder. The median coder, though...

    13. Re:Most coders by crispytwo · · Score: 1

      I have an opinion about that!

    14. Re:Most coders by gnasher719 · · Score: 3, Insightful

      W = set of programmers that are worse than average. |W| = 50%

      Says who? As an example of a situation where 99% are above average: Most people have two arms. Some are unlucky and have one or none. The average number of arms is maybe 1.99. More than 99% of humans have more than the average number of arms.

    15. Re:Most coders by gnasher719 · · Score: 2

      The majority of coders can actually be better than the mean (average) coder. The median coder, though...

      If the number of coders is odd, then less than half the coders are better than the median. And less than half are less good than the median. And at least one is exactly as good as the median.

      If the number of coders is even, then at most half are better than the median.

    16. Re: Most coders by Anonymous Coward · · Score: 0

      Dunning Kruger effect

    17. Re:Most coders by Anonymous Coward · · Score: 0

      Median vs mean doesn't matter as everyone is still getting it wrong. This really saddens me as programmers are required to be able to identify and handle edge cases in order to create robust code. Every time this comes up, it's clear that there's a lot of people who believe they know what they're talking about but don't. Everyone is ignoring the class of people who are exactly average. It's even possible, though unlikely, that everyone is average thus there would be no one better or worse than average!

    18. Re:Most coders by Dog-Cow · · Score: 1

      For the purposes of this discussion, non-practicing programmers don't count. Thus, if the worst leave the industry, they are no longer contributing to the average.

    19. Re:Most coders by pr100 · · Score: 1

      Suppose we had a numeric measure of programmer quality - say a number out of 10.

      Suppose every programmer except Fred had quality 5.

      Fred has quality 4.

      If there are lots of programmers then the average is just below 5. And everyone except Fred is better than average.

      If all programmers believe they're better than average, then this is a correct belief for everyone except Fred.

    20. Re:Most coders by Hognoxious · · Score: 1

      I would argue you should take a stats course. If you mean mode, say mode. If you mean mean, say mean. And say whether it's arithmetic, geometric, harmonic...

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    21. Re:Most coders by Hognoxious · · Score: 1

      if the worst leave the industry

      You owe me a new keyboard.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    22. Re:Most coders by Anonymous Coward · · Score: 0

      The phrase most commonly implies a mean average, per the dictionary definition of the word "average".

    23. Re:Most coders by roman_mir · · Score: 1

      Stop picking on Fred, dammit, he has it hard as is already!

    24. Re:Most coders by Anonymous Coward · · Score: 0

      An average is not defined by half below and half above.

    25. Re:Most coders by VeritasRoss · · Score: 1

      90% of people make up statistics. The other half are bad at math.

      --
      If my post were a car, this sig would be its bumper-sticker.
    26. Re:Most coders by Anonymous Coward · · Score: 0

      > An average is not defined by half below and half above.

      It is when the average you're talking about is the median value.

      You see, the term "average" covers several measurements, not just the arithmetic mean...

    27. Re:Most coders by TsuruchiBrian · · Score: 1

      I am not the OP. I can only infer that he/she meant median (because that's what most people mean in this context). I used the same terminology as the OP in an attempt to make it clearer how my claim was intended to relate to his/her claim. It should also be obvious that I was also referring to a median given the definition of a median. And you are free to infer that my claim is only valid for a median average.

      I don't begrudge you for nitpicking, especially since that was what I was basically doing. I just think my "nitpick" may actually have some actual value, rather than only being a nitpick. My intention wasn't to nitpick even though it kind of ended up that way.

    28. Re:Most coders by K.+S.+Kyosuke · · Score: 2

      Now you're just being mean!

      --
      Ezekiel 23:20
    29. Re:Most coders by minstrelmike · · Score: 1

      My "tell" for knowing who is smart and who isn't is not the answers they give; it is the questions they ask.

  14. I'm an engineer... by Anonymous Coward · · Score: 1

    Rather than just a programmer.

  15. 1. Hmmm, I don't need to bathe today... by Anonymous Coward · · Score: 0

    ...I don't smell anything.

    2. Yeah, the girls will for sure find this Batman shirt cool.

    3. No one will notice my sandals. Where are those black socks?

  16. That Slashdot is still worth reading. by ZecretZquirrel · · Score: 1

    See subject line.

    1. Re:That Slashdot is still worth reading. by topology · · Score: 1

      "I'll quit reading and posting on Slashdot, just after I finish this post about how far it has declined."

  17. His numbers may be accurate, but his English? by whoever57 · · Score: 1

    Numbers are accurate
    As I type this, snow is falling across the Sierras from one of the biggest storms in some time.

    It's "the Sierra". Singular.

    --
    The real "Libtards" are the Libertarians!
    1. Re: His numbers may be accurate, but his English? by Anonymous Coward · · Score: 0

      It's ok, he's doing maths.

    2. Re:His numbers may be accurate, but his English? by Anonymous Coward · · Score: 1

      Numbers are accurate
      As I type this, snow is falling across the Sierras from one of the biggest storms in some time.

      It's "the Sierra". Singular.

      FYI: You're a special kind of douchebag. The California/Nevada "Sierra" is the only "Sierra Mountains" that isn't called "The Sierras" by locals. Maybe he's just not a local, douchebag.

    3. Re:His numbers may be accurate, but his English? by Anonymous Coward · · Score: 0

      Are you sure it isn't the Sierra Mountains? In which case the Sierras is acceptable.

    4. Re:His numbers may be accurate, but his English? by tsqr · · Score: 1

      Numbers are accurate As I type this, snow is falling across the Sierras from one of the biggest storms in some time.

      It's "the Sierra". Singular.

      FYI: You're a special kind of douchebag. The California/Nevada "Sierra" is the only "Sierra Mountains" that isn't called "The Sierras" by locals. Maybe he's just not a local, douchebag.

      I don't know which of you is the douchebag, but I know which of you is wrong. "Sierra" means "mountain range". Saying "Sierra Mountains" is like saying "Rio Grande River" or "tree forest"; this sort of usage is common among people who refer to San Francisco as "Frisco".

    5. Re:His numbers may be accurate, but his English? by the+phantom · · Score: 1

      I lived in Reno for over a decade, and referred to the mountains as ``the Sierras'' for years. I am so embarrassed that no one ever corrected me. :(

  18. It compiles... by dkh9 · · Score: 5, Funny

    It compiles, so it has to work. Right?

    1. Re:It compiles... by Anonymous Coward · · Score: 0

      I hope that isn't a lie any programmer tells themselves. That's the joke I make when people ask if I'm nearly done.

    2. Re:It compiles... by DickBreath · · Score: 3, Funny

      It works on my machine. Oh, wait.

      --

      I'll see your senator, and I'll raise you two judges.
  19. "Good programming discussion is found at /." by Anonymous Coward · · Score: 2, Insightful

    "Good programming discussion is found at Slashdot"

    1. Re:"Good programming discussion is found at /." by Boronx · · Score: 2

      Who believes that?

    2. Re: "Good programming discussion is found at /." by Anonymous Coward · · Score: 5, Insightful

      The main one: 'I'll fix that later'

    3. Re: "Good programming discussion is found at /." by AntiSol · · Score: 5, Insightful

      This is what I was going to say. You see it ALL THE TIME.
      Your boss is NOT going to let you go back and clean stuff up later unless there's an imminent business need to do so. Do it right the first time. Don't commit sloppy code.

      The only time it's ever acceptable to tell yourself this is on a personal project, and only if you have the discipline to make it be true.

    4. Re: "Good programming discussion is found at /." by Anonymous Coward · · Score: 1

      If you are in such a situation, what incentive as an individual there is to not commit sloppy code? As far as I can see it's a win-win. Not only you get the task done quicker and make the boss happy, it also provides job security as nobody else will be able to fix the mess you made. Unless the whole company goes under but that's probably not something you can affect significantly anyway.

    5. Re: "Good programming discussion is found at /." by Hognoxious · · Score: 5, Insightful

      The main one: 'I'll fix that later'

      Often found in close proximity: "Hmm, it's not *that* bad".

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    6. Re: "Good programming discussion is found at /." by arth1 · · Score: 3, Insightful

      Often found in close proximity: "Hmm, it's not *that* bad".

      Or "This is how I/we have always done it".

      Duplication of the same bad code over and over again is the sign of inept programmers.
      Passing enormous structures as a stack arguments might work fine the first time or even the fifth. But sooner or later it will blow up.
      Empty try/catch blocks might work well when there isn't anything that needs catching, but sooner or later, there will be.
      Eschewing "this.", using generic names, and letting the compiler handle it might work well now, until someone else makes a change somewhere else.
      Oversizing arrays and always having an off-by-one that ensures overrun if the array ever were to get full will work as long as the array never gets full. But one day it will.
      Not providing a default case because you "know" a variable can only be one of N things create code that works. Now, that is.
      Writing unittests that rubberstamps the exact code you wrote and not what it's meant to do will give you a pass for code coverage. But it is a waste of time. ... and hundreds of other examples of things programmers do over and over again. It compiles, it runs, so it must be okay? What's my next task?

    7. Re: "Good programming discussion is found at /." by Asgard · · Score: 1

      If you are in the on-call rotation, it means your sloppiness will cause you to be up at 2am fixing it while also answering 20 emails asking for status.

    8. Re: "Good programming discussion is found at /." by Anonymous Coward · · Score: 0

      "Sloppy code proved des job security"

    9. Re: "Good programming discussion is found at /." by Kiaser+Zohsay · · Score: 1
      --
      I am not your blowing wind, I am the lightning.
    10. Re: "Good programming discussion is found at /." by Anonymous Coward · · Score: 0

      The main one: 'I'll fix that later'

      Often found in close proximity: "Hmm, it's not *that* bad".

      In closer proximity to: "I'll document it later"

    11. Re:"Good programming discussion is found at /." by Caesar+Tjalbo · · Score: 1

      My coworkers are ok

      --
      "I'm not much interested in interoperability. I want substitutability. I want to be able to throw your software out."
    12. Re: "Good programming discussion is found at /." by Anonymous Coward · · Score: 0

      ..with rounded up hours and double salary

  20. "Rust will replace C++" by Anonymous Coward · · Score: 1

    "Rust will replace C++"

    1. Re:"Rust will replace C++" by Anonymous Coward · · Score: 5, Funny

      "Java is fast"

    2. Re:"Rust will replace C++" by amicusNYCL · · Score: 5, Insightful

      If the customer asked for it, that must be exactly what they want.

      --
      "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
    3. Re:"Rust will replace C++" by Anonymous Coward · · Score: 5, Insightful

      My job can't be replaced by artificial intelligence.

    4. Re:"Rust will replace C++" by Anonymous Coward · · Score: 0

      Yet, they still insist on getting exactly what they asked for rather than what they actually need or what will actually work...

      How about this article: what are some lies customers (internal 'customers', IE co-workers included) tell themselves

      1.) No, the requirements and specs won't change
      2.) Yes, we will do usability testing
      3.) I understand technology
      4.) I am not susceptible to sales pitches or 'shinny'
      5.) My demand for a faster office pc than our public facing web server used for online sales is not driven by ego or politics
      6.) Our 'solution' needs to be custom when it comes to HR, payroll, AP, AR, payment processing, recruiting, facilities, physical security, information technology, communications, etc.,... even though our core business has nothing to do with any of those support functions

      And they wonder why they get exactly what they ask for... it is the only thing they can be held accountable for. Construction contractors usually know this. Such a contractor was in a discussion with some executives where I work about the height of some overhead lighting. He asked 'how high?' which kicked off a few minutes of wishy washy discussion which gave answers in everything but unambiguous terms. After a bit, the contractor again asked 'how high?' holding his pencil over the spot on the blueprint the light was to go. More discussion, round after round until an actual number was given which he quickly wrote on the blueprint. Move on the the next light until all notes were taken, execs sign off, get copies and work begins. Easy to tell this guy had been through this before and he wasn't going to let an answer that's open to interpretation through.

    5. Re:"Rust will replace C++" by Anonymous Coward · · Score: 2, Insightful

      "Neural nets and deep machine learning are artificial intelligence"

    6. Re:"Rust will replace C++" by Z00L00K · · Score: 1

      "This has to be configurable".

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    7. Re: "Rust will replace C++" by Anonymous Coward · · Score: 0

      Except that bad result is tolerated in construction all the time, not so for IT. It must be perfection first time around, cost a fraction of costs and in no time.

    8. Re:"Rust will replace C++" by Anonymous Coward · · Score: 0

      Or in the more general case:
      "The customer is not an idiot"
      "The customer is NOT an idiot"
      "Oh please, please let the customer not be an idiot"

    9. Re: "Rust will replace C++" by Anonymous Coward · · Score: 0

      This is not a lie, it's just that you don't know what AI is. Look for the definition and you'll realise that.

    10. Re:"Rust will replace C++" by sonamchauhan · · Score: 1

      That particular statement has somehow been working out true for most of us in the last 50 years. Lets see.

    11. Re: "Rust will replace C++" by Anonymous Coward · · Score: 0

      I asked Deep Thought to do my laundry the other day, disaster.

    12. Re: "Rust will replace C++" by Anonymous Coward · · Score: 0

      I bet your laundry enjoyed it, though

    13. Re:"Rust will replace C++" by Hognoxious · · Score: 1

      ... with XML. Lots of it.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    14. Re: "Rust will replace C++" by Anonymous Coward · · Score: 1

      "The Luddites are wrong. Only appy apps can app app."

    15. Re:"Rust will replace C++" by Big+Hairy+Ian · · Score: 2
      "I don't write Spaghetti Code"

      *Doffs Colander*

      --

      Build a Man a Fire, and He'll Be Warm for a Day. Set a Man on Fire, and He'll Be Warm for the Rest of His Life.

    16. Re:"Rust will replace C++" by Anonymous Coward · · Score: 0

      Rust can't replace C, and probably won't replace C++, but it should.

    17. Re:"Rust will replace C++" by DickBreath · · Score: 1

      Another lie programmers tell themselves: "This doesn't need to be configurable. The state legislature would never change this particular value from 3% to 2%. It's 3% and that's the state law! End of story."

      --

      I'll see your senator, and I'll raise you two judges.
    18. Re:"Rust will replace C++" by swillden · · Score: 2

      "Java is fast"

      What is generally not a lie, though, is "Java is fast enough".

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    19. Re:"Rust will replace C++" by Anonymous Coward · · Score: 0

      "Java is fast"

      "My code will be fast because I wrote it in a fast language."

    20. Re:"Rust will replace C++" by DivineKnight · · Score: 1

      State machines are Artificial Intelligence.

    21. Re:"Rust will replace C++" by Hotawa+Hawk-eye · · Score: 1

      The customer knows what they want.

    22. Re:"Rust will replace C++" by Anonymous Coward · · Score: 0

      I had someone recently try to convince me that anyone not using a garbage collected language was immature and needed to grow up and stop being so arrogant. Of course it was a Java fanboy.

    23. Re:"Rust will replace C++" by Anonymous Coward · · Score: 0

      "[language] is fast."

      Turns out, no matter what the language, programmers are capable of using that language to write a program that will be dog slow.

      I had a subcontractor who asserted "Java can never be fast" write the core math logic in C -- and when all the Java-C-Java interactions were done, was 20x slower than the all-Java version I hacked up for the bake-off.

      Testing just the algorithm in raw C compared to raw Java had a performance to within a couple of percent.

      Having the math geek look at the algorithm resulted in an order-of-magnitude improvement, because the subcontractor hadn't actually tested the performance of their algorithm before "optimizing" it.

    24. Re:"Rust will replace C++" by Lemmeoutada+Collecti · · Score: 1

      "I know AI when I see it." often followed by "That is not AI"

      --

      You can have it fast, accurate, or pretty. Pick any 2.
  21. Error free code... by Anonymous Coward · · Score: 1

    I once had a newbie programmer tell me that we could skip the code review because he wrote bug free code. I thought he was joking until he got insulted when I laughed my ass off.

    1. Re:Error free code... by amicusNYCL · · Score: 1

      A programmer I used to work with would never say that his code had bugs, he would always refer to them as anomalies and not know how to fix them. He didn't last long.

      --
      "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
    2. Re:Error free code... by Anonymous Coward · · Score: 0

      I worked with a stupid arrogant prick who always used the word "regression" to refer to any bug, regardless of whether it was a regression or not, just because "regression" made him sound edgy and cool like a big shot prick.

    3. Re:Error free code... by DickBreath · · Score: 2

      I definitely do not like programmers with small pricks.

      They usually do not know what they are talking about. They don't understand the business, the customer, the product, or the technologies in use. But they have a stack of certifications.

      --

      I'll see your senator, and I'll raise you two judges.
    4. Re:Error free code... by micahraleigh · · Score: 1

      After programming for 12 years and taking incremental pay increases in the local mean for the field, I got a couple certifications and my compensation went up 30%.

      Generally MCSDs get paid 7 to 13% more than developers who are not MCSDs.

    5. Re:Error free code... by Anonymous Coward · · Score: 0

      I worked for a company that had, at the bottom of certain forms, "If you experience any opportunities with this plan, please call "

      We didn't have problems or bugs, only opportunities!

  22. "I don't need any unit tests." by PJ6 · · Score: 1

    That one's my favorite, and I run into it all the time.

  23. I'm a great typer. by Anonymous Coward · · Score: 0

    Yet so many poke with two fingers.

  24. anything beginning with.. by Anonymous Coward · · Score: 0

    //TODO

  25. It's test code, we will improve it later. by Anonymous Coward · · Score: 0

    Sure you will. It's going to be there forever; and future developers will surely comment on it, and probably wont improve it.

  26. It works on mine by Anonymous Coward · · Score: 0

    Thus it'll be fine!

  27. Seems obvious. by Gravis+Zero · · Score: 4, Interesting

    "The code is self-documenting!"

    --
    Anons need not reply. Questions end with a question mark.
    1. Re:Seems obvious. by Anonymous Coward · · Score: 0

      "My documents are self-coding!" ~UML documentor

  28. Stuart says... by Anonymous Coward · · Score: 0

    "I'm Good Enough, I'm Smart Enough, and Doggone It, People Like Me!"

    1. Re:Stuart says... by DickBreath · · Score: 1

      "I have excellent social skills."

      --

      I'll see your senator, and I'll raise you two judges.
  29. Delphi will make a comeback. by SensitiveMale · · Score: 1

    I tell myself that all the time.

    1. Re:Delphi will make a comeback. by dysmal · · Score: 2

      I tell myself that all the time.

      "I would kill you but then I'd have to fix your shit"

      What I tell our (only) Delphi programmer at work

    2. Re:Delphi will make a comeback. by BarbaraHudson · · Score: 1

      You have to admit it beat the shit out of it's biggest competitor at the time - Visual Basic.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    3. Re:Delphi will make a comeback. by Anonymous Coward · · Score: 0

      It did. And VB6 kicked the shit out of VB.NET

      Thankfully all my programming for browser apps rather than windows apps these days.

  30. Re:So topical by Anonymous Coward · · Score: 4, Informative

    You meant, of course, discrimination FOR women:

    http://www.news.cornell.edu/stories/2015/04/women-preferred-21-over-men-stem-faculty-positions

  31. My manager likes me by Anonymous Coward · · Score: 0

    Ha Ha Ha Ha!!!!

  32. I'll add the documentation by SensitiveMale · · Score: 1

    as soon as I get this working.

  33. Deus Ex Scriptus by sonamchauhan · · Score: 1

    One day, a Slashdot /Soylent/The Inquirer article will point me to silver bullet tech that'll make all this wasted time worthwhile.

  34. Faking it by Anonymous Coward · · Score: 0

    Yes sir, I understand. You know exactly what your talking about, you should go fill out your Gantt Chart.

  35. It's Finished by Anonymous Coward · · Score: 0

    It's ready four times faster than it really will be, then two times faster, then 25% faster. With lots of luck it will be ready then, unless a requirement change bump the time table eight fold into the future. Then it will be ready two times faster than it will really be.

  36. Unit Tests by sonamchauhan · · Score: 3, Interesting

    All units pass. Who needs integration tests/functionality tests/load tests?

    1. Re:Unit Tests by Anonymous Coward · · Score: 0

      All units pass. Who needs integration tests/functionality tests/load tests?

      The reverse holds as well: all integration tests pass; who needs unit tests?

  37. Personal experience by Anonymous Coward · · Score: 0

    It will get better.

  38. or... by mrsquid0 · · Score: 2

    Fortran is a dead language.

    --
    Just because you are paranoid does not mean that no-one is out to get you.
    1. Re:or... by Anonymous Coward · · Score: 0

      Fortran programmer here. I use it by choice (I'm free to use what language I want for my research projects), converted quite recently (I read up on modern Fortran in 2015), and am not a dinosaur yet (I'm in my mid-20s); but people usually make a weird frowning face if I tell them that.

  39. The project is almost 90% complete ... by Anonymous Coward · · Score: 1

    ... and that last 10% will take no time at all!

  40. Sanity checking is unnecessary by Anonymous Coward · · Score: 0

    Validate your inputs!

    This message brought to you by concerned cosmic ray detectors everywhere.

  41. The System is Usually in an Error-Free State by michael.karl.coleman · · Score: 1

    The truth is that some part of whatever system you're thinking about is almost always suffering from errors.

  42. It worked yesterday. by Anonymous Coward · · Score: 1

    I didn't change anything that matters.

    I know I tested that.

    That shouldn't matter for this case.

    I'll fix that later.

    This should only take ten minutes and fix things.

    The hardware upgrade will fix all the performance problems.

  43. Lies by JustAnotherOldGuy · · Score: 4, Informative

    "That error condition will never happen because I trap for it."

    "No one will ever put that kind of stuff into this form field."

    "No customer will ever need more than X number of records for $DATA_ITEM." (kids names, addresses, cars, phone numbers, etc etc etc)"

    "TLD extensions will never be longer than X number of characters."

    "I can positively validate an email address with my home-grown code."

    "No one has a one-letter name." ...and on and on and on....

    --
    Just cruising through this digital world at 33 1/3 rpm...
    1. Re:Lies by Anonymous Coward · · Score: 0

      "No one will ever put that kind of stuff into this form field."

      True story: Shipping department uses UPS WorldShip - a pretty big, widely used and well know software package. The import from a third party website included a ; at the end of a line in the address field and WorldShip wouldn't import the entire address into the SQL database.

      Now, ; is not technically a part of the USPS addressing system used by all US shippers (USPS, UPS, FedEx) but it isn't uncommon to see it used. Both the website and UPS, which both specialize in shipping didn't sanitize the character. I thought it odd for that to happen in 2015 but low an behold, remove the ; and the shipment processes with no problem.

  44. The smartypants fallacy by flopsquad · · Score: 5, Insightful

    "I went to the smart school and do intellectual things. My boss went to the party school and does PHB things. I think it's pretty clear who's winning here."

    --
    Nothing posted to /. has ever been legal advice, including this.
  45. Applicable to more than coding.... by Anonymous Coward · · Score: 0

    "Eh, I'm not worrying. I'm not replaceable."

  46. Biggest Lie: We know better by ghoul · · Score: 1

    than the people paying for it.

    Ultimately software is supposed to solve a real world problem. Its a means not an end. If you focus on writing the greatest, most stable software of all time and the company goes bankrupt around you because you never released and you feel it doesn't reflect badly on you - after all your code was perfect- than you are lying to yourself.

    --
    **Life is too short to be serious**
    1. Re:Biggest Lie: We know better by Anonymous Coward · · Score: 0

      That's almost as big a lie as 1) the user knows what they want and 2) the user knows how to design the UI better than you do.

      It's difficult and time consuming to discover out what a user actually needs, since they want to feel useful and only tell you what they think will solve their problem. To make matters worse, they'll merely describe something similar to a tool they're already using, with some tweaks to address the things that they hate about it right now. This will, of course, miss a solution that's far better because the user doesn't know it's possible.

    2. Re: Biggest Lie: We know better by Anonymous Coward · · Score: 0

      I can do UX/UI design.

      I am an UX designer so should hide options from my users.

    3. Re:Biggest Lie: We know better by david_thornley · · Score: 1

      On the other hand, plenty of users will say what they want, and will be very unhappy with you if you implement it and claim it's the solution they wanted. Frequently you have to understand the actual problem, and that then you'll do a much better job of figuring out what they need than they will.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  47. One in a million is rare. One in a billion is negl by Anonymous Coward · · Score: 0

    One in a billion is every few minutes before we start talking about networks. Your one in a million bug happened already.

  48. I will clean up later by GuB-42 · · Score: 1

    ... not just for code.

  49. "I could write this function better!" by Anonymous Coward · · Score: 0

    Yeah, so could I. And so could literally anyone else, if they only had to think about a single use-case.

    But sooner or later, any non-trivial code will be taken outside its comfort zone, and that's when you'll miss the function that's actually been, y'know, tested

  50. Re:One in a million is rare. One in a billion is n by BarbaraHudson · · Score: 1

    1 is prime, 3 is prime, 5 is prime, 7 is prime, 9 is prime ...

    --
    "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
  51. Someone will read the manual by ASDFnz · · Score: 1

    I have honestly sent out software with a 1 page manual and have someone ring me up about a question that is answered in bold at the top of the page.

    1. Re:Someone will read the manual by Anonymous Coward · · Score: 0

      On the flip side, I've had users ask for a doc on how to install a program that's no more complicated than clicking a big install button.

    2. Re:Someone will read the manual by Actually,+I+do+RTFA · · Score: 1

      I sent out a program with a 1 paragraph install set of instructions, and the lead tester didn't read it. Messed up all the installations for that round of testing.

      We weren't up to testing the installer yet.

      --
      Your ad here. Ask me how!
  52. This will never happen in production by Anonymous Coward · · Score: 0

    But it always does if you have enough users.

  53. A common lie by Anonymous Coward · · Score: 0

    Everyone goes by first name, last name

  54. Re:So topical by BarbaraHudson · · Score: 1

    I calll bullshit. There's a HUGE difference between positions in education and in industry and commerce.

    --
    "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
  55. I'm better than the Indian Programmer by Anonymous Coward · · Score: 0

    they replaced me with.

    1. Re: I'm better than the Indian Programmer by Anonymous Coward · · Score: 0

      That is often true for a different metric of "better". The half a dollar idiot is better for your cheapskate boss who doesn't place any value on quality.

  56. It's not my fault. by AnotherBlackHat · · Score: 5, Insightful

    Order of blame;
    1.) The error is in the hardware.
    2.) The error is in the library routine.
    3.) The error is in my code.

    Order of probability;
    1.) The error is in my code.
    2.) The error is in the library routine.
    3.) The error is in the hardware.

    1. Re:It's not my fault. by avandesande · · Score: 1

      FIFY


      1.) The error is in my code.
      2.) The error is in my code.
      3.) The error is in my code.

      --
      love is just extroverted narcissism
    2. Re:It's not my fault. by Anonymous Coward · · Score: 1

      Don't forget the compiler! Bloody compiler sabotaging my perfectly good code!

    3. Re:It's not my fault. by Anubis+IV · · Score: 1

      We had a third-party try to pull this one just this week with the client we both serve. Strange thing is, it actually seems like it was true this time!

    4. Re:It's not my fault. by ET3D · · Score: 1

      You forgot the drivers. As a GPU programmer I often blame the drivers. Of course it's usually my error, but I did come upon driver bugs and even hardware bugs.

    5. Re:It's not my fault. by Anonymous Coward · · Score: 0

      0) The root of the issue is in how the entire stack between "my code" and "hardware" is designed (including both ends). It's as if the authors of layers weren't able to see the full picture.

    6. Re:It's not my fault. by Anonymous Coward · · Score: 0

      Hardware developer here. I'm pretty sure you mixed up the order of things.

    7. Re:It's not my fault. by jittles · · Score: 1

      We had a third-party try to pull this one just this week with the client we both serve. Strange thing is, it actually seems like it was true this time!

      I've found a compiler bug one time in my entire career. It was a pretty tough bug to pin down and was only a problem on a specific version of g++ when doing some very unusual things with templates. It was causing a mutex to not initialize properly. It was a nightmare and I wanted to strangle the person who wrote that code once I figured out what was going on. Fixing their code was so difficult that we ultimately just used a semaphore instead of a mutex on that specific platform.

    8. Re:It's not my fault. by michael_wojcik · · Score: 1

      Yes. I suspect many of us have cried wolf about the compiler once or twice, only to be proven wrong.

      I still remember the time I found an actual silent code-generation bug (for standard-conforming source) in the Hi C compiler, verified by the vendor. It was around 1990. I've looked at a lot of compiler output over the years, and caught the occasional noisy bug (where the compiler issues a diagnostic indicating it's detected an internal error); but I don't know that I've ever seen another genuine silent code generation error for conforming input.

      I found a bug in a commercial C library implementation once, too (also verified by that vendor). That's out of dozens of implementations, and hundreds of versions of them, that I've used. Again, it may have happened more than once, but I'm not recalling any other instances at the moment.

      I haven't counted errors in code I've written, but a reasonable estimate puts it somewhat greater than 1. These days, while I'm open to the possibility of hardware, OS, library, and compiler errors, I start with the assumption that It's My Fault.

    9. Re:It's not my fault. by Anubis+IV · · Score: 1

      Yeah, about the closest I've seen (and even then, it's still exceedingly rare) is a compiler optimization that results in unexpected behavior.

      For instance, when I was in grad school I was looking through the assignments for a class of intro-level students. They were using functions for the first time, so the prof had them take some inputs, do a simple summation in a function, return the result, and output it to the screen. Nothing fancy. Everything ran as expected when I tested this one student's program, but when I looked at the code, I saw that his addition function had no return statement. I figured he had cheated and put all of the logic in main() so as to circumvent using a function, but that wasn't the case. His code called the function and then output the result it was somehow getting back.

      Eventually I dragged some other grad students in and we realized it had to be a compiler optimization that had taken his single-line function and optimized it as an inline function, effectively allowing it to return a value, despite the lack of a return statement. After we had the compiler output the assembly so we could look it over, we were able to confirm the theory.

    10. Re:It's not my fault. by david_thornley · · Score: 1

      I have encountered, IIRC, three legitimate cases of compiler error in my career, one of which was easily fixed. That's about one every 13 years or so.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    11. Re:It's not my fault. by T.E.D. · · Score: 2

      Order of probability; 1.) The error is in my code. 2.) The error is in the library routine. 3.) The error is in the hardware.

      This is exactly why errors in library routines and hardware tick us off so much. Its the next best thing to being betrayed.

  57. I can get that done by... by kwerle · · Score: 2

    I can get that done by <any duration>.

    1. Re:I can get that done by... by Anonymous Coward · · Score: 0

      "I still can do this on time!"
      "With a little bit of overtime, I still can do this on time!"
      "I'll just do a couple all-nighters and I still can do this on time!"
      "Well, the deadline is until the *end* of the day, I still can do this on time!"

  58. "I'm sure to get that promotion!!!!!" by Anonymous Coward · · Score: 0

    I'm a better programmer than everyone else so of course I'll get a promotion and a raise.

  59. "Nobody will ever re-purpose this ... by davidwr · · Score: 1

    ... so I don't have to write defensively."

    or the opposite extreme

    "Someone may re-purpose this for [insert laundry list here] so I better spend 10x the effort to create perfect code, never mind that it will blow the budget and make the product too late to market."

    For the newbie programmer:
    There are times when you do NOT need to write defensively. There are times when you must strive for perfect code at the expense of time and money. Most of the time the best approach is somewhere in between. With experience, you will begin to learn which times are which.

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
  60. Oh oh by Anonymous Coward · · Score: 0

    I like the lie that the shorter and pithier a statement, the truer it is.

  61. Time, Names, Murphy's Computer Laws by UnknownSoldier · · Score: 3, Informative

    These should be required reading for programmers AND designers. I'm looking at you Mr. shitty designer/programmer that only lets me put 13 characters in for my (first) name.

    * Falsehoods about Names

    * Falsehoods about Time

    * Falsehoods about Computers, aka, Murphy's Computers Laws

    * 97 Things Every Programmer should know

  62. My gripes with the first 2 by TsuruchiBrian · · Score: 1

    "Null is acceptable"
    Yes null is problematic. What's the solution? Some languages (like java) allow you to use notnull annotations, etc, but what do you do when something went wrong in a function and you don't have an object to return? Sometimes you can just abort (I'd rather have a nice core dump than a messy memory bug), but this is not always appropriate. You can use exceptions, but exceptions come with their own problems that are worse than NULL pointers in many cases. So I would say NULL is acceptable (not good), when the alternatives are something worse or nothing.

    "Human relationships can be codified"
    They absolutely can be codified. Geneology software is pretty good at doing just this. It is not a hard problem. Even the article suggests that the rel problem is that the software may not properly reflect local laws due to ambiguities in the laws. If the title were "Ambiguous laws written by politicians can be codified", it would be a well accepted fact rather than a lie.

    1. Re:My gripes with the first 2 by BasilBrush · · Score: 2

      For a given function, null return either has a meaning or it does not. "Something went wrong" is not a good enough reason to return null, unless your function documentation says what might go wrong and what that null therefore means.

      If null has no meaning then make it a notnull return, or in Swift a non-optional.

      I used to work with a programmer that used to make all returns optional "just in case". I wanted to punch him.

    2. Re:My gripes with the first 2 by Anonymous Coward · · Score: 0

      Ahh yes, good ol' Geneology software. Does yours also have good ways to differentiate:

      * husband of the mother when the child was conceived
      * husband of the mother when the child was born
      * father of listed on the birth certificate
      * the man who came forward with a DNA test to prove paternity 20 years later

    3. Re:My gripes with the first 2 by TsuruchiBrian · · Score: 1

      Obviously your function should be well documented and actually do what it says it will do. And if it's possible to ensure that a function can never fail, and can forcibly disallow NULL returns through some language construct, then by all means do that.

      What *should* your function do, in the event that something goes wrong enough that returning a "normal" object is not possible.

      For example: you need a function that loads an image from a filename and returns a bitmap. There are lots of things that can go wrong. You can fail to allocate enough memory. You can discover that the image file is malformed. You can fail to read the file.

      There are many other ways of dealing with this problem than returning a NULL pointer in place of an object pointer, but depending on the language those other ways may not actually be much or any better. So I'm not saying that returning NULLs is always good. I'm saying that it might need to be adequate given the alternatives.

    4. Re: My gripes with the first 2 by Anonymous Coward · · Score: 0

      Nulls are bad, is the lie here.

      Allowing nulls is starting to address the real complexities of the world. No nulls/nil is academic nonsense. Nulls are simply missing relationships, which happens all the time in the real world.

      If you want to avoid nulls use relationships instead, don't complain about a hack!

    5. Re:My gripes with the first 2 by jellomizer · · Score: 1

      Normally in SQL where I know Null to be a problem I set the default values in the table to a valid default for the datatype.
      However nulls can be used as nice tricks but for the most part they get in the way as a null value puts your datatypes in a broken state and can work in mysterious ways.
      In my previous job I was asked to give new hires a test. So in the area of their knowledge in SQL and in debugging I had some code that didn't work correctly because it was appending a null value to a string making the entire string null. I gave this question because with the data we needed to work with and the manipulation we normally do to the data this was a common problem.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    6. Re: My gripes with the first 2 by Megol · · Score: 1

      It isn't nonsense. Missing relationship is one interpretation of a null value but it isn't the only one. The big problem are the languages where a pointer can always be null however using null as a return value have real problems too.

    7. Re:My gripes with the first 2 by Anonymous Coward · · Score: 0

      > You can use exceptions, but exceptions come with their own problems that are worse than NULL pointers in many cases.

      For example?

    8. Re:My gripes with the first 2 by AmiMoJo · · Score: 1

      In C you often return pointers, so returning null is fine and you can return any error codes by reference or with a GetError() function.

      What I do find kind of batshit are nullable bools in C#. At the very least it's not a bool any more, since it has three states.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    9. Re:My gripes with the first 2 by Anonymous Coward · · Score: 0

      The problem with null is that conflates (at least) two very different concepts: uninitialized vs missing value.

      Attempting to read a possibly-uninitialized value (ie one that the compiler cannot prove to have been initialized) should be a compile-time error. Outside metaprogramming you probably shouldn't even be able to copy it because what's the point? The written value would just be possibly-uninitialized as well so it's not useful.

      A missing value on the other hand is a perfectly valid value that can be read from or writte to. Just that its type is a union of two types (where the other is a trivial single-value type) and whatever operations you do need to be defined for both of them.

    10. Re:My gripes with the first 2 by lgw · · Score: 1

      Your code must have a uniform way to signal errors. In Java/C# this is done by throwing an exception, full stop.

      You can use exceptions, but exceptions come with their own problems that are worse than NULL pointers in many cases.

      Unless you're talking about the performance implications in C++, that debate was settled last century. Exceptions are the right way to signal errors, because the problem of forgetting to check for errors is endemic. Exceptions translate "I don't handle errors" to "abort", which is obviously the correct translation.

      In C code, the return value is consumed by the error code, and any values have to be returned by output parameters. If done this way uniformly, you can at least try to catch the places where people forget to check in code review.

      Just returning "null" because you don't have a standard convention for returning errors is the most wrong answer. Null for a potentially expected case is different (like an object not found in a map) - then it actually makes sense, rather than being a hack to avoid error handling.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    11. Re:My gripes with the first 2 by TsuruchiBrian · · Score: 1

      My claim is that "null is acceptible" is not *always* a lie. *Sometimes* it is either the best solution or at least one of the better solutions, given the circumstance. I am not claiming that returning NULL especially in languages with better constructs to handle errors.

      Unless you're talking about the performance implications in C++,

      That is one of the cases, yes.

      I did not mean to imply NULL be used as a hack to avoid proper error handling, and I will not infer that you are making this claim.

      All I am saying is that in some very specific cases returning NULL may be the least (or one of the least) bad choices. You are still responsible for performing due diligence in exhausting the search for better options before settling on returning NULL.

      The purpose of my comment was to maybe discourage people from choosing a worse option than returning NULL because of the "rule" that "returning NULL is always bad". It is important to understand the reasons for rules, so you have a better understanding of when they no longer apply.

    12. Re:My gripes with the first 2 by lgw · · Score: 1

      Sure, there are cases where null is semantically valid - it's not an error, but nothing was found. But folks shouldn't use it unless it's correct, as there's always a better way to signal an error.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    13. Re:My gripes with the first 2 by TsuruchiBrian · · Score: 1

      I guess it depends on what you consider an "error", which can depend on context. I am definitely more comfortable with the statement "Returning Null to indicate a catastrophic failure condition is unacceptable". I am currently unaware of any languages that do not allow you to abort ( or something equivalent).

      The original article's problem with returning null, was the requirement to check the return value for NULL that is created. And yeah, I agree that's not ideal, but my point was that there is not *always* a much better alternative (i.e. *sometimes* it is acceptable).

      Furthermore, there are ways of indicating an error other than returning NULL that still require a check equally as onerous(and easy to neglect) as a NULL check. So the problem isn't just returning NULL, but error-prone error-handling systems in general.

    14. Re:My gripes with the first 2 by BasilBrush · · Score: 1

      Absolutely, loading something from a file is a case where you would want to allow null returns, optionally also an error code.

      But many other functions are either guaranteed to be able to return the correct value, or to have a suitable default.

      My point is to know the difference, and only allow nulls when you have a good reason to. Never because of an ill-defined "there might be an error".

      Null has to mean something. It should never be a vague possibility because "shit happens".

      I don't think we have different opinions on this.

    15. Re: My gripes with the first 2 by BasilBrush · · Score: 1

      No one is saying nulls are always bad. What's being said is that nulls should never mean "indeterminate state". They should always mean something.

      You say it's a missing relationship. But that's one example of a meaning for null. One that makes sense to someone who's doing database work all the time, or who thinks of object graphs as databases. It's certainly not the only use people make of nulls.

    16. Re:My gripes with the first 2 by TsuruchiBrian · · Score: 1

      I don't think we have different opinions on this.

      I don't think we do either.

  63. Lies Programmers Tell Themselves by Anonymous Coward · · Score: 0

    ...There will probably be something interesting to read on Slashdot.

  64. I'll buy this new book from O'Reilly or Manning by Anonymous Coward · · Score: 0

    And read the whole damn thing, or 3/4 of it by the end of the month, then I'll be up to speed on the new platform.

  65. Military industrial complex by Anonymous Coward · · Score: 0

    Writing software for the military prevents war and terrorism.

  66. Pathetic lies from a pathetic person by Anonymous Coward · · Score: 0

    "After x is done I'll have more time and things will be different"

    "I'm not standing on the deck of a sinking ship"

    "One day they will pay me all of the money they owe me"

    "I'm the last one left with this obnoxious drunk friend and it's somehow my responsibility to make sure they don't try to drive home"

    "I am very productive, do a lot of work and don't spend my day killing time and posting nonsensical rants on Slashdot"

  67. Catch by Zenzilla · · Score: 1

    I'll add some error handling to this catch statement later......

    1. Re:Catch by BasilBrush · · Score: 1

      Swift helps a bit with this, in that it insists you either cover all possible values, or have a default clause.

      Of course you can just leave the default empty. But at least that's a visual clue you missed the error handling.

  68. A few by Anonymous Coward · · Score: 0

    Names are mostly the same.

    This field will be "enough."

    Everyone around me is an idiot, I am the only one that can solve this with technology.

    Things "work." They're barely holding together as it is.

  69. "There are jobs for programmers." by Anonymous Coward · · Score: 4, Informative

    All throughout school, everyone told me there are jobs for programmers. Everyone lied. I have multiple advanced degrees in computer science. I have started open source projects. I have contributed to open source projects. I debug software for fun. I live and breathe code. And yet, I have no job, and I have no prospects. I apply for jobs, and nothing happens. In my experience, all job listings are lies, and there aren't any jobs out there. There's absolutely nothing at all.

    1. Re: "There are jobs for programmers." by Anonymous Coward · · Score: 0

      There are jobs even in small southern towns. Getting your foot in the door can be a pain, but there are jobs for those that have professional experience. Keep at it. Government employers and mid-size companies are good stepping stones.

    2. Re: "There are jobs for programmers." by Anonymous Coward · · Score: 0

      Liar!

    3. Re:"There are jobs for programmers." by Anonymous Coward · · Score: 1

      1) Maybe you live in a bad place for tech.

      2) Maybe you are overqualified. Most employers don't want to hire people with multiple advanced degrees...they want exactly one degree.

      3) Maybe you are asking for too high a salary. It doesn't matter if your skill justifies it, what matters is what the employer is willing to pay for the job.

      4) Maybe you have some kind of social deficit that makes you unemployable, despite your programming skill.

      5) Maybe you have a criminal record, or a history of suing your employers, or other something that you aren't telling us about, that scares employers away.

      6) Maybe you are simply too insistent that you get hired on your terms, instead of the employer's terms.

      I live in Denver, CO. I have never had trouble finding a programming job. I think the highest number of resumes I have sent out before getting an interview has been about 6, and the highest number of interviews I have attended before getting an offer is about 3.

      I think the problem here is you.

    4. Re:"There are jobs for programmers." by Anonymous Coward · · Score: 1

      I forgot these:

      7) Maybe the skills you have are not the skills they want. If they are asking for full MEAN stack developers, or full Microsoft stack, and what you have is C++, Cobol, Lisp, and extensive mastery of artificial intelligence algorithms...nobody is going to want to talk to you.

      8) Maybe you are too old. Agism is rampant in the industry (illegal, but that changes nothing). Employers want young developers because they are cheap, put up with shit, are willing and able to be overworked, are less likely to retire without warning, and (it is believed) have a more modern skill set.

      9) Maybe you have all degrees and no experience, and you are applying for senior-level positions or leadership positions. That's not how it works. Employers don't hire eggheads to lead a team of veterans who have actually spent time solving real-world problems. It doesn't matter how many degrees you have, you must pay your dues in entry-level positions just like everybody else.

      Simple logic should make it obvious to you that an industry that generates so much buzz about big tech leaders pushing for programming education at every age level, and that has such issues with employers desperately trying to bring in talent from overseas, is one in which there are jobs available. If you can't find those jobs, it is not because the whole world is lying about the need for programmers, it is because you are doing something wrong.

    5. Re:"There are jobs for programmers." by Anonymous Coward · · Score: 0

      You didn't work hard enough.

    6. Re:"There are jobs for programmers." by lucasnate1 · · Score: 1

      8) Maybe you are too old

      you are doing something wrong

      All these stupid bums just choosing to be too old, to hell with them, right? They could have just chosen to be young instead.

    7. Re:"There are jobs for programmers." by Anonymous Coward · · Score: 0

      You don't have a degree, right

    8. Re:"There are jobs for programmers." by StarryEyed · · Score: 1

      Job listings ARE lies. Every decent tech job I've ever had was handed to me by a friend who already worked there. If I somehow got through the horrible interview process via the front door, the job was shit.

    9. Re:"There are jobs for programmers." by Anonymous Coward · · Score: 0

      This may sound mean, but it isn't. Maybe the problem is you? Do you live in an area with no work and refuse to move? How do you present yourself? Do you come across as humble, like somebody that most people wouldn't mind spending 10 hours a day, 5 days a week with? Are you competent? Yes, you've started open source projects and have advanced degrees and debug software for fun, but are you actually good at it? With your advanced degrees have you priced yourself out of your experience level?

      I know my brother can't find a lot of opportunities, my company needs to hire someone with his exact skill set and it'd come with a large pay bump. Plus I'm very highly regarded at the company and if I recommend somebody they're almost a guaranteed hire. He refuses to apply because it'd mean either having to drive 45 minutes to get to work or move 30 miles. And for the drive, we have a van-go that meets less than 5 minutes from his house, so he'd only have to drive like once a week. The project I work on, we need 5 people. We've just extended an offer to the only candidate we've been able to interview in 6 months. God willing he accepts, we still need 4 more.

    10. Re:"There are jobs for programmers." by Anonymous Coward · · Score: 0

      you're presenting yourself as overqualified to be a junior team member. you're also showing a bit of privilege and a streak of arrogance. figure out how to make a living as a freelancer, because i don't want you to mess up my team dynamic.

    11. Re:"There are jobs for programmers." by david_thornley · · Score: 1

      FWIW, I was laid off once when I was 48, and had difficulty getting offers. I solved the problem by dying my hair. I'm now happily employed doing interesting things at a company I like (and, given the likely pace of corporate culture change at this particular company, I should continue liking it until retirement age).

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    12. Re:"There are jobs for programmers." by micahraleigh · · Score: 1

      (8) I'm surprised more people haven't mentioned this. Most devs leave the field by 35 because they are very afraid of it. But how real is it? The devs I know who are > 50 have to consult over long distances and are usually divorced.

  70. My observation. by Anonymous Coward · · Score: 0

    "The braces belong on the same line as the function sig/if statement/etc."
    "Whitespace should be an integral part of code structure."

    Now I will duck and cover.

    1. Re:My observation. by Anonymous Coward · · Score: 0

      "Ducking and covering will save me"

  71. I'll fix that later by Anonymous Coward · · Score: 2

    No. No you won't.

  72. I tested it by Anonymous Coward · · Score: 0

    and it works.

  73. Sting operation by Anonymous Coward · · Score: 1

    What is this, some kind of sting operation?

  74. They'll let me take time off by Anonymous Coward · · Score: 0

    As someone that's lost nine weeks of vacation time due to accrual limits, I always keep thinking I'll be allowed time off. My company is great at paying lost deposits on vacations, but after working here for 23 years and not being allowed a single contiguous week off, I'm getting pretty pissed off about that. They let Indians take two or three weeks off contiguous. I understand why since their plane tickets are so expensive and the travel time is so long, but it sucks being an American and having to work to cover their time off. A friend at Microsoft said they internally call that "vacation inequality." Foreigners get time off while Americans are denied.

    1. Re:They'll let me take time off by Anonymous Coward · · Score: 0

      That is a huge problem at Microsoft now. Satya just doesn't get it. I'm glad he was fired as President and replaced by Brad Smith, but things haven't gotten better. If you're white or black from the US, you're just not allowed time off. People from other continents get multiple contiguous weeks off.

    2. Re:They'll let me take time off by Anonymous Coward · · Score: 0

      Smith is from Wisconsin, so you'd think he would understand those of us that work at Microsoft that need to go home for Christmas, weddings, funerals, etc.. When my father passed away, his funeral was on a Friday and Microsoft told me I had to be back at work on the following Monday. It was hard trying to handle his affairs from Bellevue, WA (where I lived and worked for Microsoft).

    3. Re:They'll let me take time off by Anonymous Coward · · Score: 0

      Brad Smith can afford a private plane home on his schedule. For the rest of us, not allowing vacation time is a huge hassle. I've been at Microsoft since 1994, and I haven't been allowed a contiguous week off yet. It sucks having to, for example last September, fly back home for a wedding and only be allowed two weekdays off. With Delta's delays, I got home just in time for the rehearsal dinner and had to leave home at 5am the morning after the wedding.

    4. Re:They'll let me take time off by Anonymous Coward · · Score: 0

      and the travel time is so long

      Are they tossing the plane tickets and travelling by boat? The difference in flight time is no where near large enough to account for the difference in allowed vacation time.

    5. Re: They'll let me take time off by Anonymous Coward · · Score: 0

      As long as WA requires less than 2/3 of PTO to be paid out, of course companies aren't going to allow us time off.

  75. I'll just get this working... by Anonymous Coward · · Score: 0

    ...and come back and (clean it up / refactor it / pay off the tech debt) later.

    1. Re:I'll just get this working... by Anonymous Coward · · Score: 2, Interesting

      Are you fucking kidding me? I refactor just to break shit because my code works too well!! Tech debt my ass! If it's working right, it's got hidden bugs I just haven't fixed yet!!

  76. Never and Always by Anonymous Coward · · Score: 0

    When it comes to coding, pretty much any statement that includes one of those words is wrong.

    1. Re:Never and Always by Anonymous Coward · · Score: 0

      Cue the financial bankster who pays shit-tons of money for design by contract.

  77. Applies not just to programmers by Ulfilas2000 · · Score: 1

    Those lies don't just apply to programmers, but also to mass media reporters:
    (There is only one answer): Is it true you want to hurt the poor people by blocking the raising of the minimum wage?
    (Numbers are accurate): The economy is doing great, the unemployment rate is only 3%!
    (We're in control)...

  78. It works on my machine by Anonymous Coward · · Score: 0

    It works on my machine

  79. Just a quick fix? by PhunkySchtuff · · Score: 4, Insightful

    It's just a quick fix - that'll only take 10 minutes.

    1. Re:Just a quick fix? by asylumx · · Score: 1

      Second that a million times! Possibly categorized as a we tell others rather than a lie we tell ourselves, though.

    2. Re:Just a quick fix? by david_thornley · · Score: 1

      I always figure a change will take, at a minimum, half a day, longer when it's a fix to code in production. If I can find the problem in two minutes, and come up with a good fix in another two, I then have to compile, test, and go through code review.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  80. Be open minded by TsuruchiBrian · · Score: 4, Funny

    "If something seems stupid to me, it is, because I am definitely smart."

    Example:
    "Smart pointers are stupid. I know how to manage memory, and anyone who can't have zero memory leaks directly using malloc and free shouldn't be coding anyway."

    1. Re:Be open minded by imidan · · Score: 2

      In our shop, we use a lot of XML because our systems communicate with a lot of equipment that requires inputs according to a particular XML standard. We hired a new guy who thought XML was "old and busted" and could not be convinced to write code that output XML. He wanted to store all the values in mongodb as JSON objects and then translate them later. Which, to be fair, would work, if you were good enough to pull it off. He wasn't. He no longer works here, and we're painfully rewriting all of his code.

    2. Re:Be open minded by Anonymous Coward · · Score: 0

      Managing memory is about being careful and consistent (and doing static analysis), not about being smart. Smart pointers and other monstrosities do not solve carekessness; they only hide one of the symptoms.

    3. Re:Be open minded by Kjella · · Score: 1

      What do you expect, it's like creating Linux software by writing a Win32 binary because you can run it in WINE. Regardless of the merits of XML, if the constraints demand that you produce it taking a detour through a different format certainly won't help.

      --
      Live today, because you never know what tomorrow brings
    4. Re:Be open minded by Anonymous Coward · · Score: 0

      How about a little bit more honest version:

      "Smart pointers are scary as hell. Even old fashioned manual memory management is a hellish minefield, but at least I know it unlike something that drags the entire enterprisey c++-paradigm pile along with it as a dependency"

    5. Re:Be open minded by Anonymous Coward · · Score: 0

      If your shop was web scale it would have just magically worked. /snicker

    6. Re:Be open minded by Yunzil · · Score: 1

      anyone who can't have zero memory leaks directly using malloc and free shouldn't be coding anyway."

      This part is actually true.

    7. Re:Be open minded by imidan · · Score: 1

      taking a detour through a different format certainly won't help

      This was my objection to his idea, but I wasn't in charge. I think the guy learned to code from the Internet, and hung out on a lot of forums where XML is ridiculed, and he picked up his opinion there without ever understanding why. Everything he hadn't made was "needlessly complex." When we told him we had to adhere to the XML-based standard for I/O, he suggested that we create a new standard and then get all of the equipment makers to use it instead of the existing one.

      At the time, I thought he was being stubborn for no reason I could see. I realize now he was just really, really green, and all this stuff that was needlessly complex was stuff that he was having a hard time understanding, and he found it easier to code up a simplistic replacement than to RTFM and understand there are reasons for the complexity of existing systems and standards.

    8. Re:Be open minded by TsuruchiBrian · · Score: 1

      There certainly is some truth to it, but it is a bad argument against mechanisms that prevent mistakes.

      Unfortunately, everyone makes mistakes. This is why such a huge amount of software development effort is put into mechanisms preventing human errors that would otherwise have occurred. It's not like these mechanisms are just for the bad programmers, and Knuth and Dijkstra don't need to use them. It also frees human time for real problem solving that would have otherwise been spent bug hunting.

    9. Re:Be open minded by nasch · · Score: 1

      Do you think there are not very many programs* with memory leaks, or not very many programs written by people who should be coding?

      * written in an unmanaged language

    10. Re:Be open minded by Anonymous Coward · · Score: 0

      I'm all for JSON instead of XML, but only when other restraints aren't already in place.

  81. Programmer lies: by buss_error · · Score: 2

    1. I can have this done by the deadline
    2. Oh, it's a simple change, just commit it.
    3. I can adapt another routine, it'll cut the programming time
    4. Your code sucks
    5. My code shines
    6. Don't bother with that use case, it'll never come up.
    7. Our users wouldn't be that stupid.
    8. Our users wouldn't be that smart.
    9. It's completely debugged.
    11. There are no errors in this top 10 list.

    --
    Necessity is the plea for every infringement of human freedom. It is the argument of tyrants; it is the creed of slaves.
    1. Re:Programmer lies: by Anonymous Coward · · Score: 0

      I commit often, even when things don't work. That is why you have your own branch to work on.

    2. Re:Programmer lies: by Anonymous Coward · · Score: 0

      12. I read the requirements (the article is about lies programmers tell THEMSELVES, not lies they tell their coworkers)

  82. This will be easy.. by Anonymous Coward · · Score: 1

    Enough said.

  83. Mindests aint mindsets by enrique556 · · Score: 1

    "This framework I'm writing will make it easy for new programmers to understand and modify the system."

  84. Women even better off in industry by SuperKendall · · Score: 2

    I calll bullshit. There's a HUGE difference between positions in education and in industry and commerce.

    Outside of the educational community, the desire for companies to hire ANY technical women is massive. You can for sure gat an interview at any tech company if you are a woman. You will be 99% sure to be made an offer if you are at all competent (and sometimes even if not, the power of quotas).

    I have a friend with a daughter who is a CS major, and she was offered extremely well paid internships with a large signing bonus at every single company she applied for (ten or so I believe). She is pretty skilled but currently only in Python.

    I say that not to say it is negative but just to speak the truth about how things are, because so many seem to think it hard for women to find tech jobs once they acquire skills and they are scaring away young women from a gold mine with a very rich vein.

    To be frank it's not hard for any competent male to find tech work either, but loads of large companies have diversity quotas and they are absolutely desperate to fill them which gives women a huge advantage...

    Note that his ease of hiring is utterly separate from the conditions they may find once working there. Outside of Silicon Valley women are usually treated well and as equals, in most California companies they will probably face horrific abuse and discrimination (which is where the myth that tech women are mostly mistreated in companies comes from).

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:Women even better off in industry by Anonymous Coward · · Score: 1

      To be fair, handing out jobs to women for being minimally competent doesn't really sit well with people that earned their position with years of effort. It harms women, especially the actually competent ones that also put in the work. It fosters an atmosphere of "she only got the position because she's a woman" which is absolutely unhealthy but in a world where that actually happens it's not unreasonable to feel that way either.

    2. Re:Women even better off in industry by squiggleslash · · Score: 2

      Outside of Silicon Valley women are usually treated well and as equals

      Meh, I've witnessed awful treatment of women in the industry and never worked anywhere near SV.

      Remember that stat, that 25% of women in colleges have been sexually assaulted? How initially it seems unbelievable because, hey, you wouldn't, and I wouldn't, and most men you know wouldn't, so how can that be?

      The reason it's likely true is that it doesn't a huge proportion of men to be assholes for a disproportionate number of women to be affected. If, say, 2-5% of men in college think it's OK to touch women inappropriately and non-consensually in environments in which they can get away with it, and you assume each of them gets away with it, and so assaults multiple women, then, wow, you're up to 25% of college women being sexually assaulted pretty quickly.

      And the same is true in businesses. Leaving aside institutional and structural problems - which exist everywhere - it doesn't really take a lot of male employees to be assholes, showing a level of disrespect for women they'd never show to men, for women to be disproportionately affected.

      One office I worked for had such a person. As in every male member of the programming team knew he hated women, and that the extremely qualified, hard working, smart woman working with him was being treated like shit solely because she was a woman, and neither young nor blonde enough to make him at least be chivalrous to her as compensation.

      To my and my coworkers shame we never did anything about it. We didn't talk to him about it, we continued to treat him as a - distant, perhaps - friends. We didn't talk to management about it. "G is strong", we told ourselves, "She doesn't put up with his bullshit", and, well, yeah, but bullying is bullying, and working in that environment wears down the strongest of all of us.

      It's getting a lot of press in SV right now because SV is the hub of the tech industry, and has sizable number of progressives involved in it. But the idea it's limited to SV is absurd, that'd be to assume either that base human behavior (because there'll always be sexism) somehow is under control elsewhere, or that management skills have developed to a remarkable level outside of SV.

      --
      You are not alone. This is not normal. None of this is normal.
    3. Re:Women even better off in industry by Anonymous Coward · · Score: 0

      And then there's the men who are minimally competent and get the job because of who they know and get paid much better than someone walking off the street who knows a whole lot more. And getting those premium positions goes even further to get the next position because dude now has so called street cred and business credentials.

      That shit is far more rampant than women getting jobs to meet quotas. And that applies to every company I've worked at, from startups to monsters with more than 100K employees.

      You're just too stupid to not know how much you're benefiting from the good-ol-boy system.

  85. I work for a good company by ohnocitizen · · Score: 1
    • It's normal to work these kind of hours.
    • Management knows what they are doing.
    • It's normal for the company to fire people frequently and without warning.
    • Working long hours then going home and working on open source my company uses for free is normal and a good idea.
    • My stock options are going to be worth a lot of money someday
    • I'll never have to worry about office politics
    • It's okay if the pay is lower and the hours are longer if my company has a great culture
    1. Re:I work for a good company by Anonymous Coward · · Score: 0

      It's okay if the pay is lower and the hours are longer if my company has a great culture

      I take partial issue with this one. Unfortunately all too often 'great culture' means 'free drinks, and company-issued nerf guns'. And how often long hours and low pay go together.

      I came to work at my current job over one that paid 30% more because the culture was better. In my case, I mean 'professional-yet-relaxed atmosphere where I work 40/week'. So not the 'long hours', but definitely the lower pay. And I've never been happier.

    2. Re:I work for a good company by david_thornley · · Score: 1

      I knew a guy who liked to keep a pile of his stock options for amusement value.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  86. Skip The Article by StormReaver · · Score: 1

    You can safely skip the article without missing anything. I stopped reading after, "Relationships Can Be Codified" because I realized that the author of the article seems to have very limited programming and design experience. All of his examples up to, and including, that point are elementary issues with simple solutions.

    1. Re:Skip The Article by jellomizer · · Score: 1

      For the most part the point of the article wasn't as much of the technical lies but the fact that programmer often code themselves into boxes. Relationship mother father wife husband can quickly cross gray lines with divorce, remarried, widowed, adopted, same sex marriage, gender identity...
      So often programmers will program hard coded what they know. If they are better skilled then they will make a look up table. If they are really fancy they will make some adaptive control for self maintenance of the value. Then as the relationships may change it is what to do with the historical data.
      I have been coding for 30 years. And often I will get in arguments with newly grads and college professors (normally the ones who's career was entirely in academia) when they see that I written some less than efficient overly complex code for something easy. E.g. Why did you create a gender table and just populate Male and Female and the keys? Just code the drop down box with the values it will save on loading time. Then after release we get a request to add additional values such as trans genders so all I need to do is tell the customer to edit the lookup table and I don't have to go to all the forms that ask and show the value. Add the value, recompile make sure the code is merged in future development tested...

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    2. Re:Skip The Article by Greyfire · · Score: 1

      Wish that had been said earlier. Heck, he even makes a case for abandoning Macs, and I don't think that's something he intended.

  87. My manager would never post on Slashdot just to... by engineerErrant · · Score: 1

    ...get some ammo to discredit my point of view in our next meeting.

  88. malloc() will never fail by Anonymous Coward · · Score: 0

    Not checking the return value on malloc() since most programmers know that malloc never really fails on a modern system with overcommit.

  89. That is just an edge case. by sabt-pestnu · · Score: 1

    Nobody will ever do that.

  90. Lies!!! Damn Lies! by ogdenk · · Score: 1

    "The company cares about my well being and if I work 80 hours per week to complete this project I've poured my heart and soul into, it will all pay off in the end and I'll be a well paid rockstar and get my fair share!"

    "Shareholders really care about me and appreciate my hard work."

  91. How I dress doesn't matter by Anonymous Coward · · Score: 0

    How I dress doesn't matter.

    1. Re: How I dress doesn't matter by Anonymous Coward · · Score: 0

      Of course it matters! If you're not comfortable then you won't produce the best work. That's why I won't wear a button shirt, dress pants or a tie, despite repeated discussions with "senior" phbs about it.

      Dress comfy. Not to impress. If you're expected to dress to impress then your company is shallow and will treat its software the same. Could be crap as hell, just so long as the ui is shiny.

  92. It will be better if we start from scratch by albeit+unknown · · Score: 1

    If we completely rewrite this old, messy, patched-up code, the new code will be better-architected, well-documented, and bug-free.

    1. Re:It will be better if we start from scratch by david_thornley · · Score: 1

      I had a very good friend working on a system running on a baby IBM, and the new CTO decided to rewrite it in Java and run it on WIndows. I got to hear all about it.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  93. "I don't need to design and desk check first". by Anonymous Coward · · Score: 0

    ....... a sure sign of lack of discipline ;)

  94. Coding is a profession with a long term future by Required+Snark · · Score: 2

    also described as: "I can keep working as a software developer as long as I want to".

    --
    Why is Snark Required?
    1. Re:Coding is a profession with a long term future by swillden · · Score: 1

      also described as: "I can keep working as a software developer as long as I want to".

      I dunno. I'm almost 50 and work with guys who are in their 60s. That's definitely as long as I want to work.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    2. Re:Coding is a profession with a long term future by david_thornley · · Score: 1

      I am in my 60s, and see no reason why I can't continue to work for something under two more years until I retire, which by definition is as long as I want to.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    3. Re:Coding is a profession with a long term future by micahraleigh · · Score: 1

      What stack ?

    4. Re:Coding is a profession with a long term future by swillden · · Score: 1

      What stack ?

      I've done a lot of things. I've somewhat specialized in security of the cryptographic sort, but I've done embedded work, web sites (LAMP, J2EE, other stuff), networking (network drivers, worked on a reverse proxy, even wrote a TCP stack back in the day), point of sale systems, and a lot more. These days I work on Android, but that may change in the next year or two.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    5. Re:Coding is a profession with a long term future by micahraleigh · · Score: 1

      Cool! Thanks. That speaks to several things I've been turning over in my mind.

    6. Re:Coding is a profession with a long term future by swillden · · Score: 1

      Cool! Thanks. That speaks to several things I've been turning over in my mind.

      YW. Note that I think the industry has changed a little, and I'm not sure that being a generalist is practical any more. Which isn't to say that you shouldn't know about a lot of different things, but there's value in being expert in one field. Note I said one field, not one technology and especially not one tool. Being expert in one tool is great in the short term while that tool is in demand, but it's also a good way to get left behind. Oh, and you have to expect that you'll constantly be learning new stuff for your entire career.

      My bottom line, though, is that if you're smart and have an actual interest in software technology for itself, rather than just as a profession, you can develop software for as long as you want to. At some point you'll run into a compensation ceiling, and breaking that requires moving into a different sort of role. But... the ceiling is pretty high if you find a company that values you. And you can make it even higher if you go independent, though that comes with considerable risk.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    7. Re:Coding is a profession with a long term future by micahraleigh · · Score: 1

      That's encouraging to hear, and the generalist/specialist feedback is insightful.

  95. Database lies by devnullkac · · Score: 1

    Seems like the article is mostly lies that database programmers tell themselves.

    --
    What do you mean they cut the power? How can they cut the power, man? They're animals!
  96. valued work by Anonymous Coward · · Score: 0

    My work is valued

  97. Forever by devnullkac · · Score: 1

    Here's one of those not-what-you-expect lies that you learn you're telling yourself after a year or so: This code will be used everywhere forever. It will be totally worth it to make it super flexible and super maintainable.

    --
    What do you mean they cut the power? How can they cut the power, man? They're animals!
    1. Re:Forever by Anonymous Coward · · Score: 0

      Someone has been listening to Johnathan Blow perhaps?

  98. I need more coffee by avandesande · · Score: 1

    EOM

    --
    love is just extroverted narcissism
  99. no comment by Jaegs · · Score: 1

    "The purpose of this line of code is pretty self evident. There's no need to add a comment about its function."

  100. I only surf the web while compiling by Snotnose · · Score: 1

    Along with "I never start a compile because I wanna surf the web".

    sigh

  101. The best in town learn from the best in the world by raymorris · · Score: 5, Insightful

    I've discussed the Linux RAID code with Neil Brown, who wrote most of it. That conversation made me keenly aware that my grasp of Linux storage it is rather pitiful.

    I've discussed proposals for new internet protocols with Vint Cerf, known as "the father of the internet". I was reminded I'm the big fish only in a very, very small pond.

    A few weeks ago someone at work asked for "a Perl guru". Just that morning I had participated in the Slashdot discussion with Larry Wall - a fresh reminder of who is a Perl guru and who isn't.

    My co-worker read something about Linux on Stackoverflow, and he knew as much as other people posting to that question knew - he felt like an expert.

    A co-worker once used "telnet 25" to do smtp. Nobody else he knows does that, so he's an expert.

    My own experience is that the more I learn, the more I am exposed to actual experts, the more I discover that there are many people much more knowledgeable than I. If I think I'm really good, that actually just means I *might* be better, in some ways, than the people I talk to - thinking I'm good just means I'm failing to learn from people who are better.

    I strongly suspect those who are humble are the people who read the work of Knuth, T'so, Engelschall, etc - the really programmers know they aren't the best.

  102. Structure by indentation is a sensible approach by thesjaakspoiler · · Score: 1

    .... if you haven't worked with any other decent programming language

  103. Easy to understand, use, modify by myid · · Score: 1

    My app is easy for a non-technical person to understand and use.

    My code is easy to understand and modify.

  104. The receptionist totally digs me. by tgrigsby · · Score: 1

    She's probably thinks intelligence is sexy.

    --
    *** *** You're just jealous 'cause the voices talk to me... ***
  105. This app... by HockeyPuck · · Score: 1

    This app is gonna make me millions...

    1. Re:This app... by Anonymous Coward · · Score: 0

      "If I write this app in HTML and javascript, it will be just as good as a native app"

  106. Here's several... by Anonymous Coward · · Score: 0

    1. "Good Enough" is "Good Enough" - b/c it isn't.

    2. That'll always be True/False.

    3. It'll never assert.

    4. That'll never happen.

    5. It's secure b/c we tested all the user inputs.

  107. One of the biggest... by Anonymous Coward · · Score: 0

    The absolute biggest lie some programmers tell themselves is "Linux is good". The second biggest lie is "The GPL is a good license"

    1. Re:One of the biggest... by Anonymous Coward · · Score: 0

      "slashdot trolling phenomenon will be coming back, and along with it hoardes of clueless linux fanboys and finally the mythical 2% of posters who actually had not only clue but actually ridiculous amount of experience, wisdom and sense of humor. you know, like in the old days"

  108. Lies Lies Lies! by Anonymous Coward · · Score: 0

    "I'll just use this library until I write my own"

    "I'll optimize this function later"

    "TODO: Refactor for future merges"

    "Just another 5 minutes until I find this bug I'm looking for"

  109. Lies by Anonymous Coward · · Score: 0

    That'll only take a few minutes.

  110. Biggest programmer lie: "I'm an engineer" (nt) by Brannon · · Score: 1

    nt

    1. Re:Biggest programmer lie: "I'm an engineer" (nt) by mwvdlee · · Score: 1

      Isn't that a big lie for every engineer except for the people running steam engines in old trains and boats?

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    2. Re: Biggest programmer lie: "I'm an engineer" (nt) by Anonymous Coward · · Score: 0

      Most programmers believe

      Programmer == engineer == architect == ui designer == sysadmim == dba

      And we arrive at the resume red flag "full stack engineer" which translates literally into knows fuck all about anything and proclaims to be an expert of everything

    3. Re:Biggest programmer lie: "I'm an engineer" (nt) by serviscope_minor · · Score: 1
      --
      SJW n. One who posts facts.
    4. Re:Biggest programmer lie: "I'm an engineer" (nt) by mwvdlee · · Score: 1

      Ah okay, so according to that site a software engineer IS an engineer? Unless of course only civic architects and/or war-machine makers are to be considered engineers.

      The point I'm trying to make is that the idea that a sofware engineer is not an engineer is just a case of marking one arbitrary point in time in the long chain of an ever-changing definition of "engineer" as the only, absolute and final definition of that word. Whereas most of the people claiming such, work in fields which also didn't exist when the word "engineer" was first used.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    5. Re: Biggest programmer lie: "I'm an engineer" (nt) by Hognoxious · · Score: 1

      That's unfair. Some of them are good at one of those things and almost competent at one of the others.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  111. It's Just A Little Hack ... by Anonymous Coward · · Score: 0

    ... It Will Never Go Into Production.

    AC

  112. Biggest Lie by Anonymous Coward · · Score: 0

    I AM GOD!

  113. Never say never by b1ng0 · · Score: 1

    This condition will never happen

  114. I can get this... by FrozenFrog · · Score: 1

    ...simple program done on time, on budget, and with no bugs.

  115. Well, *I* know what it means ... by petes_PoV · · Score: 1
    Not mentioned yet:

    * Every user speaks my language (so my text can all be ASCII), So Y and N are always fine. So everyone's address includes a city.

    * It doesn't matter that error codes are meaningless, or that the same catch-all message appears for several different conditions.

    * Every user will know what "enter a 6 character alphanumeric field" or "please assign a unique key" means

    * Using technical jargon in user interfaces is good, Plain English is for WIMPS

    * it doesn't need documenting, it's obvious how to use it.

    * The website doesn't need a description of the product, everybody knows what it is
    (So let's make the first page a user will encounter a list of the change log, or a name-check for everyone who worked on the project, instead)

    --
    politicians are like babies' nappies: they should both be changed regularly and for the same reasons
  116. Re: The best in town learn from the best in the wo by Anonymous Coward · · Score: 0

    I am the best developer for my domain.

    Probably thousands are better than you in many different ways and focus areas, no matter who you are.

    However, nobody has exactly your ideas at this time, and you don't even compete on skill..

  117. Ah, I Can Do That by Anonymous Coward · · Score: 0

    Epic fail...

    Q.E.D

  118. Bigger lies by Brett+Buck · · Score: 1

    " I can write a Python script and get grandma's printer to work, so I am a genius in all areas of life, particularly politics"

  119. The project will be done on time by s1d3track3D · · Score: 1

    see subject

  120. They are not lies, by Anonymous Coward · · Score: 0

    they are alternate facts

  121. You are a poof by Anonymous Coward · · Score: 0

    And you take it up the arse, sorry, up your sissy pussy.

  122. // TODO by El_Muerte_TDS · · Score: 1

    or the alternative: // FIXME

  123. demo code by rastos1 · · Score: 3, Insightful

    "Don't worry. This will be used only as a demo/proof of concept and never in production".

    Actually that's a lie told to me by the management and I tend to believe it up to the date when the demo happens.

    1. Re:demo code by MadKeithV · · Score: 1

      In my career I've had a couple of instances where I've requested management to actually put down in writing that what we were developing was a "prototype", with the stipulation that "prototype" means that after it's done and it has proven the concept, *all the code* gets thrown away and we can start over.
      Because every single time you don't, the end result after the prototype presentation is "oh, you're 90% of the way there, it'll only take 10% of the time you've already spent to finish it!".

    2. Re:demo code by Anonymous Coward · · Score: 0

      To make my clients resist the temptation of using such code in production I usually slap a huge, red, blinking warning on a visible place of the UI telling them that it's just a "PROOF OF CONCEPT. NOT MEANT TO BE USED IN PRODUCTION". It works.

    3. Re:demo code by Anonymous Coward · · Score: 0

      This I know: "We just went into pilot with your P.O.C" (they where a Chinese customer)

    4. Re:demo code by david_thornley · · Score: 1

      At a couple of places I worked, we had something like a strategic development unit that would basically write a proof of concept and throw it over the wall to Development, and we were expected to turn it into something production-ready. This didn't necessarily work.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    5. Re:demo code by Anonymous Coward · · Score: 0

      "Don't worry. This will be used only as a demo/proof of concept and never in production".

      Then write it such that it cannot be used for production without being rewritten. Write it in Snobol or something.

    6. Re:demo code by TeknoHog · · Score: 1

      Also: I'll just hack up something quickly so the rest of the team has something to work with. I'll rewrite it properly later.

      This actually comes from my experiences as a theatre tech guy, mostly relating to lighting design. I think it applies quite generally to projects where several people work in parallel, initially with little interprocess communication but increasingly interdependent until the grand premiere. The actors and the director will need some lights to get started, but I also need to see some action before doing the final design. The trick is making that initial quick hack good enough, so you never have to redesign from scratch, and I guess that takes some experience.

      --
      Escher was the first MC and Giger invented the HR department.
  124. Planning by mwvdlee · · Score: 1

    "I've been planning badly for decades and know to double my estimate; this time my planning will be close to the truth".

    --
    Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
  125. So is Poettering, and me, and a million others by raymorris · · Score: 5, Insightful

    > I am the best developer for my domain.

    For an sufficiently narrowly defined domain, so am I. Then again, so is Lennart Poettering.

    Eric S. Raymond is a far more accomplished developer than I am. It is good for me to remember there are many, many far more accomplished, and many who are just plain more knowledgeable all around.

    I happen to be, or once was, the best in the world at protecting paid web sites from unauthorized access. I was a longtime member of many cracker forums, and got a certain amount of respect because I had been around for many years and knew the ins and outs of the various security systems. Little did they know I was a spy, that the most senior member of their community was there to surveil them and feed them misinformation. So I was the best at my particular speciality, but plenty of people are better than me in much larger, more general domains. Being the best at one very specific thing doesn't make me good, it makes not versatile.

    1. Re: So is Poettering, and me, and a million others by Zero__Kelvin · · Score: 1

      Which reminds me ... "I happen to be, or once was, the best in the world at protecting paid web sites from unauthorized access" is another one I've heard ;-)

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
  126. My current situation by MonoSynth · · Score: 2

    "I fully understand the problem"

  127. "I am paid well!" by Anonymous Coward · · Score: 0

    It is the lie 99% of all coders tell them selves.

  128. later by Tom · · Score: 2

    The most often told and most consequential lie that programmers constantly tell themselves is this one:

    I'll fix this later.

    --
    Assorted stuff I do sometimes: Lemuria.org
  129. Usually... by nospam007 · · Score: 2

    I will document that piece of code later so that I remember why it does what it does.

  130. Delusions of Altruism by Anonymous Coward · · Score: 0

    "I'm making the world a better place."

    "This can't be used for evil."

    Or for the government employees...

    "Good thing this will never leak to the public!"

  131. It does. by Anonymous Coward · · Score: 0

    Users love tray bar icons and my application needs one, together with a service to keep it alive.

  132. Agile by Anonymous Coward · · Score: 0

    We are agile here.

    1. Re:Agile by Ihlosi · · Score: 1
      We are agile here.

      What is this "we" you speak of?

      I am agile here.

  133. OOP by Anonymous Coward · · Score: 0

    "Object-oriented programming is better and easier to maintain"

  134. This bit made me laught by Chrisq · · Score: 1

    They [the Unicode consortium] also toss aside certain emoji, effectively denying someone’s feelings.

    Because nobody ever felt anything before there was an emoji for it.

  135. Here is another one by master_p · · Score: 1

    "functional purity creates less buggy code".

  136. That's a subset Re:I can get that done by... by Anonymous Coward · · Score: 0

    That's a subset of the root lie. Re:I can get that done by...

    The root lie is, "I know what I am doing."

    Look at the unholy mess that 99.99999% of software is. Not the five-9's you are looking for. When applied to software, Sturgeons law is recursive.

    Reason: Software is the most complex machine humans have ever created. And it is designed, built, documented (ha!), and maintained by unlicensed, not-standardized, para-professional "injuneers".

    The entire software industry is a fraud, based on hubris and just enough knowledge to be dangerous.

  137. I can trust the compiler. by Ihlosi · · Score: 1
    I can trust the compiler.

    I can trust the libraries I use.

    I can trust the linker.

    I can trust the hardware the code runs on.

  138. But ... but ... but ... by Ihlosi · · Score: 3, Interesting
    ... I have two engineering degrees!

    Oh.

    I get it.

    That means I'm not a programmer.

    1. Re:But ... but ... but ... by n329619 · · Score: 1

      Graduate with a Bachelor of Science.

      I must be a scientist!

      Bachelor of Science in Religion.

      Close enough.

  139. "The customer will not want the bug back." by Ihlosi · · Score: 1

    Most ironic of situations. You fix a reported bug, and shortly after get reports from customers asking for the bug back.

  140. Documentation by GerryHattrick · · Score: 2

    "My code is self-documenting, I need do no more."

  141. "I can find my own bugs." by Ihlosi · · Score: 1

    No ... you usually can't. Unless you don't look at your code for six weeks, and then read it and wonder what exactly you were thinking.

  142. Re:The best in town learn from the best in the wor by Anonymous Coward · · Score: 0

    A few weeks ago someone at work asked for "a Perl guru". Just that morning I had participated in the Slashdot discussion with Larry Wall - a fresh reminder of who is a Perl guru and who isn't.

    This is cheating.

    Everyone who has written a language is expert on it, and the worse the documentation is or the more non-intuitive side-effects there are the greater the difference will be between the developer and the user.

    It's when you meet a developer that looks at something a user did with the software and say "Wow, I didn't realize you could do that." that you know that the developer did a good job.

  143. Girls are as good as Boys in Computers by Anonymous Coward · · Score: 0

    So we must chase them and recruit them.

  144. "unit tests makes a program work" by Anonymous Coward · · Score: 0

    My all time favorite. The idea that more tests solves the problem.

  145. I will fix it tomorrow/next iteration/sprint by umghhh · · Score: 2

    or another one I really love "this will never happen (so I do not have to prepare for that)".

  146. I don't need a union by MrKaos · · Score: 1

    I will be able to adapt to the legal environment, I'm a great negotiator, someone will lobby the government to look after my interests, that aside they really need me.

    Someone has my back

    --
    My ism, it's full of beliefs.
  147. MM/DD/YYYY by deburg · · Score: 4, Insightful

    "Everyone uses the American Date format, that is MM/DD/YYYY", 'nuff said

    1. Re:MM/DD/YYYY by Anonymous Coward · · Score: 0

      ISO YYYY-MM-DD FTW :)

    2. Re:MM/DD/YYYY by Anonymous Coward · · Score: 0

      and everyone uses:

      - US Letter document format
      - Measurements in US Imperial
      - Writes left to right
      - Can understand English

    3. Re:MM/DD/YYYY by jez9999 · · Score: 1

      Seriously, why did you guys start doing that? Can't you see how illogical it is? It makes about as much sense as CRLF.

    4. Re:MM/DD/YYYY by michael_wojcik · · Score: 1

      A thousand times yes. Or they use the US order with hyphen separators, increasing the confusion. Or they mix formats in the same application. Just the other day I was dealing with a web page that used MM-DD-YY and DD-MM-YYYY for different fields.

      Sometimes I think ISO 8601 should be required by law. Everywhere.

      (Of course, I'd also like to see everyone required to use UTC for all non-specialty applications. What do I care if the sun reaches its zenith locally at 17:00 or 19:00 rather than 12:00?)

    5. Re:MM/DD/YYYY by david_thornley · · Score: 1

      Like DD/MM/YYYY is any better. The only good order is the ISO one, YYYY followed by MM followed by DD, optionally followed by the time.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    6. Re:MM/DD/YYYY by Anonymous Coward · · Score: 0

      Because I hate conventions, I use the convention of YYYYMMDD - then my dates sort both chronologically and numerically the same way!

    7. Re:MM/DD/YYYY by codeButcher · · Score: 1

      Hmmm, and everyone has a name and surname (and in that order).

      --
      Free, as in your money being freed from the confines of your account.
    8. Re:MM/DD/YYYY by angel'o'sphere · · Score: 1

      It would be actually interesting how that date format evolved, because in my opinion it is the most retarded one and has nothing to do with how you would write it as in "Monday, the thirteenth of January 2017", or "say it" for that matter.

      Any ideas?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    9. Re:MM/DD/YYYY by jez9999 · · Score: 1

      It's objectively better because it's in order: short -> long.

  148. This will take 10 minutes. by Rufty · · Score: 2

    Well, 10 minutes after the upgrades, the install of the new service, the hard reset of the router, the changes to the firewall ...
    Currently only had one 10 minute job that's hit the day 3 mark ... this month.

    --
    Red to red, black to black. Switch it on, but stand well back.
  149. C++ by Anonymous Coward · · Score: 0

    is better than C

  150. Sad, but true by SCVonSteroids · · Score: 1

    Almost all the +5s I've seen are the excuses (not lies) that I hear from the less competent and/or lazier workers. (Note, I said workers, because this doesn't only apply to programming)

    I'm going to attack on the "deadlines" ones specifically though because it hits home the hardest for me. I've had deadlines where everyone around me, seniors et al, laugh and say it's impossible, and I just think about it a bit and go "Gee, if we all were actually collaborative and proactive about it, we'd actually achieve that deadline without much stress."

    Then I realize those same people spend half their days either chatting with others or tackling problems in a grossly inefficient manner. This isn't always the case, obviously, but you need someone who gets annoyed and takes the reigns when it does happen. I tend to play that role, but I also almost end up burning myself out and morph into one of those lazier workers in turn. Not fun.

    tl;dr? Too early in the morn to summarize, read it or move on.

    --
    I tend to rant.
    1. Re:Sad, but true by asylumx · · Score: 1

      Almost all the +5s I've seen are the excuses (not lies) that I hear from the less competent and/or lazier workers.

      In addition to that, they are almost all lies programmers tell their coworkers, not lies they tell themselves.

  151. cannabis oil by Anonymous Coward · · Score: 0

    Here is my story. greatful

    My wife was diagnosed with a cancer, ( before i learnt of Rick Simpsons oil / RSO ) the hospital said to do chemotherapy and radiotherapy.. she did.. and went through a lot.. but no cure, after a while the doctors said the cancer was spreading and we could look for alternatives.. i searched the internet and found out about the oil.. asked alot of questions.. watched the videos etc.. we made the oil our selves but it couldn't just work out we were doing more harm than good and the cancer was still there spreading, i searched more on the internet i found a testimony on how a lady got the oil via an email, ricksimpsoncannabisoil96@gmail.com immediately copied the email: i wrote to this very email ricksimpsoncannabisoil96@gmail.com and in an hour later i got a reply back asking me some few questions, and enlightened me on how to get the oil in the next 48hours, i placed my order and in the next 48hours the medication oil got to us. immediately my wife started using the oil, it been two months now, since my wife has been using the medication oil and the cancerous problems are gone this very fact was clarified by the doctor.

    i put up this piece of testimony for the sake of those once who need this oil to please don't die in silence their is a cure for your cancer today email: ricksimpsoncannabisoil96@gmail.com and get the oil.

  152. Neo in a cubicle by Anonymous Coward · · Score: 0

    Lie : "Neo in is cubicle was not paid by a program"

  153. Even worse: by Ihlosi · · Score: 1

    "C++ and C are quite similar."

  154. From an actual engineer by Anonymous Coward · · Score: 0

    I'm a skilled worker.
    I won't be replaced by someone in the third world with an internet connection.
    Java is an acceptable language.
    Error messages no longer need to contain information.

  155. Actually... by zedaroca · · Score: 1

    There is nothing wrong with Java.

  156. That stripper by sabbede · · Score: 1

    really liked me!

  157. Favorite programmer self-delusion by Mister+Mudge · · Score: 1

    That's an edge case - it won't ever happen in the real world!

    --
    Mudge

    In theory, theory and practice are the same.
    In practice, they're not.

  158. RAM by Anonymous Coward · · Score: 0

    Nobody will ever need more than 1MB RAM.

  159. Programmers reading *this* believe... by Anonymous Coward · · Score: 0

    ... that slashdot is for stuff that matters[tm]
    ... that they actually know how to fully parse and validate an email address
    ... that they matter in the medium to long term to anyone outside of a very small circle (typ. family)
    ... that the next generation will live in a better world.

  160. Re:The best in town learn from the best in the wor by Dog-Cow · · Score: 1

    Perl actually has excellent documentation, written by the the authors/developers of the language.

  161. The big lie: by johnnys · · Score: 1

    "Those security guys worry too much!"

    I'd be filthy, stinking rich if I had a dime for every time a developer made the same well-known security mistake over and over and over even after their code was pen tested and it was pointed out to them with a fully documented POC and screenshots.

    --
    Sometimes the "writing on the wall" is blood spatter...
  162. Not me, but... by Anonymous Coward · · Score: 0

    Whitespace is significant

  163. null? by baadfood · · Score: 2

    Whats the deal with nulls?
    While I can attest to the accuracy of the other 8/9 issues causing extended bouts of hair-pulling stress, I've never found nulls be problematic.

    I mean, sure they have been a source of errors while developing, but dealing with them is just as aspect of dealing with function boundry conditions, and whether you do it via bools, nulls, exceptions or whatever, it has to be done.

    1. Re:null? by Anonymous Coward · · Score: 0

      The real "problem" with null is that there aren't enough of them.

      Look at the examples that people use to argue that null is bad. They involve null being used to mean multiple things and programs that interpret a null to mean one thing when it was intended to mean something else.

      Note that the "eliminate null" solution is lots of dummy objects/values, one for each of said multiple things. That's good, as far as it goes, but then you have accesses to the contents of said dummy objects. Such accesses shouldn't happen but the hardware can't detect it.

      The great thing about null is that the hardware says "you can't do that".

    2. Re:null? by ath1901 · · Score: 1

      I didn't get the thing with nulls either. Maybe it's a Java thing. I vaguely remember such issues with Java since there are so many pointers and object allocations. If you forget just one, there's a null pointer exception waiting to happen. I suppose the lack of explicit pointer syntax might also help / make it worse since you may think about your variables as values and not as pointers.

      It doesn't happen in C++ as much since you use heap allocated values more often and perhaps pay more attention to dynamic allocation, when it happens. I have accidentally created null pointers of course but it really isn't a major concern.

      in Python, it's even less of an issue even though it should supposedly be a bigger issue since any pointer can point to any value, not just nulls. My guess is that the ease of writing unit tests more than makes up for whatever is lost from not having static type checking. Static type checking can't detect accidental nulls anyway but unit tests can.

      Having said that, yes, I do hate nulls and I try to avoid them as often as I can. An empty string or empty list is often a better "empty" value than a null pointer.

      Maybe avoiding Java and replacing nulls by empty values is enough to not consider them a menace.

    3. Re:null? by Anonymous Coward · · Score: 0

      There's a long-standing debate on whether NULL is the biggest mistake in programming history (the proponents are a bit dramatic).

      I know in Java they ended up creating Optional in order to deal with nullable types. In C# they have the ?. (null-conditional) operator and ?? (null-coalescing) operator which both gracefully deal with null values, and eliminate many if (null == expr) statements.

      There's certainly a case to be made about not using null, but I don't see it as strictly necessary. Null in many cases is a good way to indicate an error has occurred as opposed to returning -1 (because there are many situations where -1 is a valid value) - so then you go hunting down which value can be returned, and is guaranteed to be an erroneous value when you could just use null.

    4. Re:null? by Anonymous Coward · · Score: 0

      It is very much a Java/C#/etc thing.

      It's the combination of having a strongly typed language, but which force-allows one special value in every goddamn type and that value doesn't follow the logic of every other value but instead throws a runtime error if you do as much as much as .ToString() it in debuglog.

      Thus, every time you call anything or anyone calls you, you'd need to consider whether null is acceptable parameter, input or return value but of course you don't since it goes against the typed paradigm that this is precisely the kind of shit that compiler should catch for you.

      Then when you combine it with "fuck it crashes on 2% of customers and we need to fix this quick" you get code that's littered with "if (a==null) return;" hacks that make the problem even worse in the future.

    5. Re:null? by Anonymous Coward · · Score: 0

      I agree, I mean, I wrote this nice function one time that did what it was supposed to do and fit nicely on a page.

      Then a requirement was added that "in situation X, skip the function" So I put in an "if X:return."
      Then another requirement for situation Y, then Z, W... next thing I know the function still fits on one page, after about 2 pages of "if : return" statements.

      Special cases happen, and you can't worry too much about it.

  164. Javascript is not THAT bad. by TheSunborn · · Score: 1

    Javascript is not THAT bad.

    (This lie is the only way, I can continue work).

  165. Who cares? by Anonymous Coward · · Score: 0

    Who'd care to exploit a flaw in my code?

  166. Object relational impedance by ramirodt · · Score: 1

    "Our model changes too frequently, we can't use a relational databas, only JSON will be as versitile as we need". Lies...

    1. Re:Object relational impedance by SharpFang · · Score: 1

      Well, we don't happen to have money to hire a database designer, to invent the SQL queries that would do what 20 lines of Perl over JSON file can do.

      Actually, we do use the relational database, except for the most wildly varying entries, there's a text field, which contains the JSON objects. I mean, if the field "measurement" may be an int, a float, an enum, an array, an array of arrays of variable length, containing int, float, NULL or NaN, or a structure composed of a string and three booleans, yeah, that can be normalized into a bunch of tables, and queries for these can be written, but... seriously, why?

      --
      45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
  167. Version 2.0 by Anonymous Coward · · Score: 0

    I'll add that in version 2.

  168. What makes an engineer in the US? by opentunings · · Score: 3, Interesting

    In the US, if you want to be a mechanical, or civil, or electrical, or plumbing engineer, these are the rules you generally have to follow.

    - you go to school and eventually graduate

    - you may have to serve as an apprentice (in my state, electricians serve a 5 year apprenticeship)

    - you take an exam that's created and run by the state government in which you want to practice (not by a vendor)

    - if you pass the exam, then you ask the state, not the vendor, for a license (probably some money involved here too)

    - once you're licensed, then you're an engineer, unless

    - the state finds out that you aren't following the state's (electrical / civil etc.) code regulations and pulls your license. Then you're no longer an engineer. And by the way, good luck finding your next job.

    So whether you're an engineer or not depends on the state government, not a vendor or a school. This also provides more global skills. For example, a plumbing engineer can spec out either a Moen or a Delta faucet for a design. Could a Cisco engineer spec out a Juniper switch? Maybe...or maybe not.

    When I was getting my degree (90's) the ACM wrote about the issue of whether software could truly be called "engineering" or not. Two things that they pointed out were that (1) in a couple of US states, it was illegal to call yourself a software engineer because you weren't licensed by the state, and (2) a lot of mechanical etc. engineers are pretty PO'd at the software industry because any fool can call himself / herself a software engineer without having skills, practices or state certs to back it up. Both point to a level of respect and trust in the skills of the person who puts "engineer" in their title. Would you go to a doctor who didn't have a state license? Or use a lawyer who wasn't a member of the state's bar? Probably not, because you don't know if you can trust their skills. A state's "engineer" stamp is a similar scenario: "this person is trustworthy in their trade and their opinions deserve respect."

    1. Re:What makes an engineer in the US? by swillden · · Score: 2

      On the other hand, even without a government seal of approval, there are highly-skilled programmers in the world who have written lots of important and well-respected code that runs critical systems and does it very well. These are clearly worth of the name software engineer. The same applies to certain people who do software architecture, and deserve the label software architect.

      So it's not that software engineering doesn't exist, or isn't a valid title, the only issue is that there's no defined standard by which to judge whether an individual merits the label.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    2. Re:What makes an engineer in the US? by russotto · · Score: 2

      you may have to serve as an apprentice (in my state, electricians serve a 5 year apprenticeship)

      An electrician and an electrical engineer are rather different.

      So whether you're an engineer or not depends on the state government, not a vendor or a school. This also provides more global skills.

      Global? Ha. If you have a professional license it's good in one state. Other states _may_ provide reciprocity, or they may not. If the state you want to move to requires that your education took a slightly different course than it did, or had a different standard for professional supervision, you might be fucked.

      When I was getting my degree (90's) the ACM wrote about the issue of whether software could truly be called "engineering" or not.

      ACM broke with the IEEE over the issue of whether a professional engineering licensing program for software was appropriate; ACM felt it was not while IEEE felt it was.

      A lot of P.E.s are certainly butthurt over the fact that others call themselves engineers without being P.E.s. Too bad on them; train drivers were called 'engineers' long before there was a P.E., and those who built and operated siege engines were 'engineers' long before that. I don't see why we should cede the term to Johnny-come-lately stick-in-the-mud State-worshipping credentialists like P.E.s

    3. Re:What makes an engineer in the US? by Dixie_Flatline · · Score: 1

      My definition of 'engineer' includes 'legally responsible for the work they do', which is what happens with P.Engs in Canada. I don't know how it works in other places, but an engineer signing off on something means something. I have no legal liability for my code and I make no guarantees to anyone about it. (Keeping in mind that I'm a game programmer so, y'know, whatever.)

    4. Re:What makes an engineer in the US? by sjames · · Score: 1

      You're speaking of a PE. Indeed, software engineers are not PEs (unless they pursued a dual career, of course) nor are they required to be. Many engineers are not PEs. You may not claim to be a PE without going through the whole process.

  169. Trust me, I know what I'm doing... by Anonymous Coward · · Score: 0

    The documentation always matches the code.

    The program will scale linearly.

    The user will wait for the response to finish.

    There will always be enough memory to run this.

    I don't need garbage collection because I free everything I allocate.

    I really need all this stuff to display in the same screen at the same time.

    I know how to do UI so I don't need to follow any conventions.

    No one will ever use this the wrong way.

    My estimates are accurate.

    We can just bring in another coder to get this out on time.

    Every bug report takes the same amount of effort to fix.

    Everyone on the team will learn and use my preferred language even if they don't already know it.

    The IDE will help me to code better.

    The debugger will help me find all the bugs.

    Everyone loves the way my code looks as much as I do.

    My CS degree proves that I know how to code.

    The most important thing is to make the code run as fast as possible.

  170. I can do this in two hours by kbdd · · Score: 1

    Most frequent lie I tell myself or others.

  171. It's a really great... by Anonymous Coward · · Score: 0

    Job offer.

  172. Re:One in a million is rare. One in a billion is n by DickBreath · · Score: 1

    1 is prime. 3 is prime. 5 is prime. 7 is prime. 9 is simply experimental measurement error. 11 is prime. 13 is prime. . . .

    Manager: how do you measure leadership?
    Programmer: with a suitable test insturment!

    --

    I'll see your senator, and I'll raise you two judges.
  173. How about by Anonymous Coward · · Score: 0

    "This is just a temporary fix/hack/solution"

  174. #9/top 20 currently @ TIOBE index by Anonymous Coward · · Score: 0

    See my subject + "read 'em & weep" http://www.theregister.co.uk/2017/03/10/swift_pops_top_10/

    I used it to create APK Hosts File Engine 9.0++ SR-7 32/64-bit https://www.google.com/search?hl=en&source=hp&biw=&bih=&q=%22APK+Hosts+File+Engine%22+and+%22start64%22&btnG=Google+Search&gbv=1/ to give users more speed, security, reliability & anonymity online using what you have NATIVELY in the IP stack itself, doing more for far less vs. other "so-called 'solutions'" that are full of bloat inefficiency or security issues (dns/antivirus/browser addons).

    APK

    P.S.=> It's my personal favorite programming language (& I code a dozen of them since 1982) that took me from MSVC++ & VB when it beat BOTH overall soundly in 4/6 peformance tests (even doubling & almost tripling C++ in MATH & STRINGS work, which every program does) in Sept./Oct. VBPJ issue "Inside the VB5 compiler"... apk

  175. Overcommenting is good by SlideRuleGuy · · Score: 1

    Many mentioned under-commenting, but don't forget the waste that is over-commenting. I want to scream every time I see a function (e.g., a graphics function) that takes two variables, x and y, and someone took the time to comment those as "the x coordinate" and "the y coordinate". No kidding!!! Or if you're using ghostdoc, they get commented as just "the x" and "the y". When the best comment you can come up with adds no information, just skip it. Over-commented code is not better in any way.

  176. I'm not wasing my time... by Anonymous Coward · · Score: 0

    I'm not wasting my time...
    I'm reading Slashdot :-)

  177. i understand this code completely by Anonymous Coward · · Score: 0

    money / power is happiness & i can trust this corporation

  178. Customers' firewall will protect them by doggo · · Score: 1

    "Eh, it's secure enough. They've got a firewall, right?"

  179. Easy by jon3k · · Score: 1

    "I can finish that in a week."

  180. ugh by FirstNoel · · Score: 1

    The Users will never do that.
    My code doesn't need documentation

    --
    "Hmm. I am to metaphor cheese as metaphor cheese is to transitive verb crackers!"
  181. Re:So topical by Anonymous Coward · · Score: 0

    "Gender/minority hiring quotas are the way to fix discrimination."

  182. Re:The best in town learn from the best in the wor by Anonymous Coward · · Score: 0

    A thousand times this!

    I thought I was pretty slick with Perl, until I worked at a Perl shop (they DO exist!) with people who are core committers to things like, OpenAFS, Postgres, and created things like Bucardo because they were just looking for a way to do something better for a client.

    I thought I was pretty good at Postgres, until I went to the Postgres Open and over dinner asked the guy who wrote Slony why he'd done something, only to find myself nodding politely as he responded with a half hour explanation to which I could only think to myself, "Yeah...uh huh...I know some of these words!"

    I am a far better perl developer, have a far better understanding of Postgres, and most importantly much more humility about the depth and breadth of my own skillset for having had both experiences. When I dealt with a team of developers at couple jobs ago, most of whom were working their first job out of college, all of whom figured they knew better than I did about how things should be done, it really sank in how bad the problem of ego is getting in CS/IT academia. Humorously, it took me dropping their dev database from a browser to get them to accept that maybe the people who came up with the OWASP top 10 know something their professors didn't teach them...

  183. Automation by Anonymous Coward · · Score: 0

    The process can be automated.
    https://xkcd.com/1319/

  184. let's see by Anonymous Coward · · Score: 0

    - If I code what's in the spec, everyone will be happy

    - that bug can't happen, it's just impossible!

    - this code is really simple, I read it over, and it's fine -- no need to bother setup a test case for it.

    - let's setup some best practice guidelines, for our own benefit. Mgmt won't make them manatory -- because it's obvious that these are only guidelines and there are times when they don't apply.

    - computers are fast, so we don't need to worry about how we write this...

    - I should optimize my code (generally, I see people think this, about code that's not inside loops, and sometimes is executed rarely.)

    - Why bother optimize this code? (and, in reverse, I see people say this, about code that IS in the most important parts of loops, and/or is dealing with how we grab data from disk servers - resulting in serious latencies)

    - comments are for wussies

  185. That they by Anonymous Coward · · Score: 0

    might get laid someday?

  186. Estimates by HellYeahAutomaton · · Score: 1

    "I can do this in two weeks."

  187. After the 4th release by mr.witherspoone · · Score: 1

    It's only a demo ....

  188. From a QA perspective.... by Lordfly · · Score: 1

    "Hey, it works on my machine"
    "This doesn't even really need testing."
    "Users will never use it that way."

    --
    hookers and grits.
    1. Re:From a QA perspective.... by OrangeTide · · Score: 1

      "Hey, it works on my machine" is a valid troubleshooting step. It's good to find out why QA's environment is so fucked up compared to my dev environment. And in some cases it works in the release team's environment and my dev environment but QA is escalating their configuration troubles as show stoppers. I'm happy to help as soon as the finger pointing and assumptions stop.

      --
      “Common sense is not so common.” — Voltaire
    2. Re:From a QA perspective.... by david_thornley · · Score: 1

      "Hey, it works on my machine"

      That's not necessarily a lie. I've had it happen twice. Both times it was a real pain because I couldn't debug on my machine.

      "Users will never use it that way."

      Now you're hitting one of my sore spots.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  189. Full Stack DevOps Engineer by DougWare · · Score: 1

    That they are a "Full Stack DevOps Engineer". When I hear that I die a little inside.

  190. Re:One in a million is rare. One in a billion is n by Anonymous Coward · · Score: 0

    2 is prime, 3 is prime, 5 is prime, 17 is prime, 257 is prime, 65537 is prime, 4297967297 is prime...

  191. "I'll be ready for extensions." by SharpFang · · Score: 1

    "If I write this program in an easily extensible way, expanding this later will be a breeze."

    Lots of classes, rich inheritance trees, broad project on top of a robust framework, making adding extra modules fairly easy. Your program is clean, well-documented, and has a logical structure, all according to best practices. It's also about 4 times bigger than it would really need to be, it takes 3 times as much RAM (primarily due to loading all the neat frameworks and libraries that you used "not to reinvent the wheel" even if you only use one or two simple functions from these), but who cares, this is the modern paradigm, and everything is automated and works so smoothly you can be nothing but proud of it. Now just to support it, fix some bugs, and implement extra features.

    Then the new requirements arrive, you look at the email, you look at the top level schematics of your system and you realize, with a sinking feeling, that you never imagined the system would need to be expanded *that* way. And that this particular framework doesn't support this approach, and never will, because its authors decided they never plan to support it, or that the target platform doesn't support, and can't ever support the kind of libraries you use, or that you currently depend on a piece of hardware to do a job which you will need to write from scratch, or the new legal requirements (which are not disputable; new law says so) go completely against your system philosophy, which provides equivalent but completely different functionality, or the essential library just has been discontinued, and new security holes have been found in it...

    Or at the very least, you realize that a feature that amounts to ten lines of code performing a really simple tricks requires you to create ten different files, two thousand lines of code, config and extras, and modification of several existing files, because the way the extensions of this type are applicable is writing a plugin which is a separate project with a whole non-trivial instantiation of framework, build system, security, and compatibility with your smart dynamic plugin loading mechanism. What would amount to pasting a 12-line function called once per tick from the main loop, amounts to a three-week project building the plugin/wrapper for that 10-line snippet.

    You CAN NOT foresee future requirements. You CAN NOT plan all possible future extensions ahead of time. And the more you plan for, the more "flexible" you try to be, the larger and more rigid your project becomes in areas you failed to foresee, and the harder it will be to adapt it for these.

    Yes, leave hooks for stuff you have it on a good authority WILL happen. Do not try to plan for every eventuality though. Write good clean code that does what it's meant to do, and doesn't try to be ready for anything else. It will be *easier* to expand once the time comes.

    --
    45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
  192. hmm by Wuhao · · Score: 1

    "This time will be different."
    "A rewrite will fix everything."
    "This will make it future-proof."
    "I'll go to bed after I write this last part."

  193. Why spread lies?? by SuperKendall · · Score: 2

    Remember that stat, that 25% of women in colleges have been sexually assaulted? How initially it seems unbelievable because, hey, you wouldn't, and I wouldn't, and most men you know wouldn't, so how can that be?

    And then you found out that it was unbelievable because it was a lie?

    One office I worked for had such a person

    Nothing helps a lie along like a nice little one-off anecdote, am I right?

    But the idea it's limited to SV is absurd

    It's not limited to SV but it's rare outside of there. In SV it is pervasive. If I were a woman I would stay far away from SV if I valued my mental health. There's plenty interesting stuff going on outside of SV, and then you also avoid being in a huge bubble of groupthink that has fifty Snapchat clones getting funding.

    But if you are a women and want a lot of money, suck it up and take SV for all they are worth. After 5-10 years you could probably retire for life if you play your cards right and change companies often enough.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:Why spread lies?? by david_thornley · · Score: 1

      Your cite doesn't say that the 20% figure it mentions is a lie, but rather that the study the statement was based on had seriously flawed methodology, and that we really don't know. I find it entirely plausible that 20% of women may have been sexually assaulted, defining "sexual assault" as "an action that would be illegal according to the Minnesota Criminal Sexual Conduct statutes", but I have no real way of knowing what the correct figure is.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    2. Re:Why spread lies?? by BarbaraHudson · · Score: 1

      All I can say is that the majority of women I know have been sexually assaulted on one or more occasions. The figures are probably under-estimated, but this is over the course of a lifetime, not a 3 or 4-year university stint. Still ... (and that's not counting stalkers and other creepy crap).

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
  194. Accountability and CYA by Ukab+the+Great · · Score: 1

    "When someone above asks me to do something I know will be problematic, they will ultimately take responsibility for that decision and will not use me as a scapegoat to protect their own ass when the shit hits the fan. And even if they were to do so, my reams and reams of CYA documentation that document their ridiculous decision will serve as a magic talisman that prevents me from getting fired."

  195. Doesn't harm women, harms respect for women by SuperKendall · · Score: 1

    To be fair, handing out jobs to women for being minimally competent doesn't really sit well with people that earned their position with years of effort.

    For sure, they get annoyed.

    It harms women

    But here's the thing - it doesn't harm women. It harms people's respect for women as competent developers.

    But think of it from the standpoint of the woman. Were I a woman, and people thought I was incompetent because of diversity quotas, I would laugh and wave my arms wildly in my pit of extra money I was making.

    Respect of others is only valuable when you can use it as leverage to get things like jobs you enjoy. But currently being a woman has far more leverage in getting hired at technical jobs than does respect or competency. So why care what people think about you?

    Plus honestly in the end after a while people will respect you for what you have done anyway, no matter what they think at first. So it's not like I'd slack off if it were me, thinking about it from a very long term standpoint, not to mention maintain an internal measure of respect which is important for a strong feeling of self-worth.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  196. There are 60 seconds in every minute by OrangeTide · · Score: 1

    Oh shit, what's a leap second?

    --
    “Common sense is not so common.” — Voltaire
  197. One error by Anonymous Coward · · Score: 0

    0. I don't like sucking cock
    1. I can have this done by the deadline
    2. Oh, it's a simple change, just commit it.
    3. I can adapt another routine, it'll cut the programming time
    4. Your code sucks
    5. My code shines
    6. Don't bother with that use case, it'll never come up.
    7. Our users wouldn't be that stupid.
    8. Our users wouldn't be that smart.
    9. It's completely debugged.
    11. There are no errors in this top 10 list.

  198. Refactoring will fix everything by Anonymous Coward · · Score: 0

    "After the three months it takes the team to refactor, adding zero new functionality during that time, the new refactored code will make adding new features trivial, and all of our programming lives better "

  199. Re: Biggest programmer lie: "I'm an engineer" (nt by Zero__Kelvin · · Score: 1

    Of course what you say is true! There is no way I could have experience with all of those things in a mere 30 years! If someone has 5 or 10 years in the field you might have a point, but beyond that a truly talented Dev will have experience in all of that as well as virtualization.

    --
    Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
  200. Freakin' servers. by Anonymous Coward · · Score: 0

    "The operations people are idiots and the servers suck. It can't possibly be the fact that I have a rudimentary grasp of SQL and don't know what an index is."

  201. Start at the top by tchdab1 · · Score: 1

    "I love my job."

  202. We'll always have jobs by SoftwarePearls · · Score: 1

    Programmers think that their jobs will always exist.. I think we've got another 20-25 years before the bulk of programming jobs have vaporised in the face of AI.

    1. Re:We'll always have jobs by russotto · · Score: 1

      Programmers think that their jobs will always exist.. I think we've got another 20-25 years before the bulk of programming jobs have vaporised in the face of AI.

      And another 5 years after that before the bulk of humans have been vaporized by the AI.

    2. Re:We'll always have jobs by Anonymous Coward · · Score: 0

      That's much farther in the future than the end of bulk of other jobs that will be replaced by AI. The reason we have sweatshops instead of robotic factories is that humans are flexible and robots used to not be.

  203. My card has said "Computer Scientist" for 25 years by mpercy · · Score: 1

    Just so I never bumped into those legal issues. Before that it was "Systems Analyst". We use "Software Developer" for the same reason, and it covers a lot of ground.

  204. One-Offs by Anonymous Coward · · Score: 0

    Everyone misses this one (though the source of the lie is, in my experience anyways, the false assurance of a user):

    "This is a One-Off problem, do the minimum to solve it."

    Yeah, I've found that those one-off problems come back. Over and over again! And because you solved it once, you just became the expert, and furthermore your minimal solution keeps getting pulled back into production.

    "One-Off" problems are more likely to be irregular use-cases, in my experience. They mostly have a duty cycle of greater than one year but they will be back, like a zombie springing back to life after you planted them in the graveyard.

  205. Cannot reproduce the fault by safetyinnumbers · · Score: 1

    So "the bug just went away by itself".

  206. Programmer self-delusion by Anonymous Coward · · Score: 0

    "A user would never be stupid enough to do that."

  207. No such thing as US Imperial by Anonymous Coward · · Score: 0

    Imperial as used by English speakers means old British Empire units.

    American units are most correctly called US Customary units, as they are not the same. But then, just to piss you guys off, we usually call our not-quite-Imperial units "English units." :-)

  208. Re: The best in town learn from the best in the wo by Jason+Levine · · Score: 1

    I am the best developer for my domain.

    I'm the best there is at what I do, but what I do occupies a narrow niche.

    --
    My sci-fi novel, Ghost Thief, is now available from Amazon.com.
  209. And thus... unintentional algorithmic cruelty by Anonymous Coward · · Score: 0

    "Covering the happy path is good enough for now" or "covering normal people is a good start."

    Take a look at Facebook serving pictures of people's children to them in festive frames even if those children have died during the previous year. The damage we do on the edges can be larger than the good we do in the center.

  210. Re:One in a million is rare. One in a billion is n by TeknoHog · · Score: 1

    It's funny because 1 isn't really prime.

    (It may have been prime according to some old definitions, but not any more. Factorizations are not unique if we include things like 2*3, 1*2*3, 1*1*1*1*1*2*3, etc. so it's better to leave out one.)

    --
    Escher was the first MC and Giger invented the HR department.
  211. "It works on my machine" by Anonymous Coward · · Score: 0

    ... so way does it suck when it is used in production under load? -- because you didn't do any realistic load tests that's why!!

  212. The customer will stick to the script by lcllam · · Score: 1

    'Requirements? No worries - just build it first, and I'll give you my feedback.'

  213. I hate these two: by WetCat · · Score: 1

    "Mathematics is an exact science"
    and
    "Miracles do not happen"

  214. It's not a bug by Anonymous Coward · · Score: 0

    It's a feature!

  215. Performance Problems? by Agripa · · Score: 1

    I do not need to worry about cache organization.

  216. Language barrier by Jetty+Jetty · · Score: 1

    I've heard it has to do with the language barrier overseas. Director's and contractors here want to be able to describe the type of work they want done and the best way to do that is in the English language they're used to. Communicating that with a programmer from India presents a challenge and so for that reason a well spoken English-as-a-first-language developer can usually be paid better.

  217. A really fat lie by dddux · · Score: 1

    "Users won't notice". ;) Oh yes we do.

    --
    "It is no measure of health to be well adjusted to a profoundly sick society." - Jiddu Krishnamurti
  218. Friends from College by Anonymous Coward · · Score: 0

    Spend some time bonding with peers in college whether it be drinking and doing drugs or something more wholesome. These guys and girls will be your friends for life if you nurture the relationships, and well educated friends means good opportunities. I didn't realize at the time that they would be more important assets than the education I was getting there.

  219. Security by ebvwfbw · · Score: 1

    The firewall is keeping my program from running.
    I'll add security later.
    The security routine is stopping it from working.
    Let's disable SELinux, then it'll work.
    I'll just su to root to delete these files. I'm not really in /dev.

    Others:
    I don't need to test this code.
    VI is a good editor.
    Ruby is a great language.
    Java is a great language.
    I don't need to worry about freeing memory. Modern systems have more memory than we'll ever use. (java actually does this last I knew).
    I don't need to worry about metadata.

    My favorite - "Things will naturally just work out."

  220. It's just a short term fix... by pepik_knize · · Score: 1

    "Short term" means 5+ years minimum. MINIMUM.

  221. "But..." by Krokus · · Score: 1

    "...I didn't change anything!"

  222. One day JavaScript will cease to exist... by TheOuterLinux · · Score: 1

    (Deep scifi narrator voice or Morgan Freeman) IN THE YEAR 2000, all audio and video will be ogg vorbis. All documents will be in an open format. Micro$oft will be no more. Artificial Intelligence will be our friend and not the privacy cracking monster it's always been since the 1940s. Cloud computing becomes easy for everyone to do and not just a farce for Silicon Valley to use open source to destroy open source.

  223. reuse by wateringcan · · Score: 1

    We'll definitely be able to reuse this module in our next product, no hacks or shims required.