152
Nayan
8y

Most used lie you tell to client: -

Client: “Could you make the software do XYZ?”

Programmer: “No.”

What the programmer really wants to say:

“It’s software. Of course we could do it. But:

it would take a very long time,you can’t afford it,we can’t sell it to anyone else because it’s a terrible idea,by the time we finish it, you won’t want it anymore.”

“No” is just easier to say and is less insulting, especially when the client has a dozen of these great ideas.

Comments
  • 23
    or the dev is just lazy
  • 5
    Just take the money and do it man
  • 0
    I face the same thing all de time
  • 10
    - Can you make a software that will always tell me whether or not some arbitrary software functions correctly?
    - No.
    - Oh you mean it will take too long and I can't aff-
    - No.
  • 0
    @elazar do you mean unit testing?
  • 2
    I use the same technic with my boss. Doing this helped me reduce the stress at work.
  • 0
    @GigabyteDX I've said "always", so
    - No.
  • 0
    @elazar why would it not work always work?
  • 4
    @GigabyteDX The answer is "no" in principle, as it is equivalent to the famous halting problem, which is unsolvable.

    When your unit tests say there's an error, they are probably right. When they say there isn't, the are virtually always wrong. You just can't write, let alone execute, a complete suite of unit tests - for all but the most trivial programs.
    How can you test addition of two 64-bit integers? You need to perform 2^128 checks, which is well beyond anybody's reach.

    You can actually prove correctness of simple programs, but it requires means other than unit tests, and there can be no algorithm that performs it perfectly.

    Even simple claims, such as the program is type-correct at runtime, is impossible. The fact that every compiler does that is by "cheating" - the compiler refuses to accept valid programs such as this one:

    if (false) return 1.3*"hello";

    No actual error will occur at runtime, but the compiler does not care. It will always go on the safe side.
  • 1
    @elazar i mean nothing is perfect but good unit test coverage is pretty good.
  • 0
    @GigabyteDX good is fine. I was talking about perfect.
  • 1
    Sometimes you mustn't just take the money.

    Sometimes you must take a stand.
  • 1
    @HoloDreamer I did the same and then he told me that this has to stop and that there is always a way to do something.
Add Comment