Stories
Slash Boxes
Comments

SoylentNews is people

SoylentNews is powered by your submissions, so send in your scoop. Only 18 submissions in the queue.
posted by janrinok on Thursday May 01 2014, @01:52PM   Printer-friendly
from the relax-its-a-holiday dept.

An outrageous, insightful, and sadly accurate commentary on programming. I found this an extremely entertaining read and agree with most of it. It doesn't offer solutions, but certainly highlights a lot of the problems.

"Double you tee eff?" you say, and start hunting for the problem. You discover that one day, some idiot decided that since another idiot decided that 1/0 should equal infinity, they could just use that as a shorthand for "Infinity" when simplifying their code. Then a non-idiot rightly decided that this was idiotic, which is what the original idiot should have decided, but since he didn't, the non-idiot decided to be a dick and make this a failing error in his new compiler. Then he decided he wasn't going to tell anyone that this was an error, because he's a dick, and now all your snowflakes are urine and you can't even find the cat.

Personally, I think things will only get better (including salaries) when software development is treated like other engineering disciplines.

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 5, Interesting) by Thexalon on Thursday May 01 2014, @02:39PM

    by Thexalon (636) on Thursday May 01 2014, @02:39PM (#38503)

    In the vast majority of professions, horrific incompetence is tolerated. About the only thing that makes programming different is the number of people affected by an incompetent programmer in an incompetent organization - one stupid mistake in a program and 40 million people are adversely affected, whereas one stupid mistake by, say, a PR flunky and only a few people are adversely affected.

    In other professions that can have that kind of effect on things, we have extensive exams and certifications to try to prevent incompetent people from having careers in the field. We don't for programmers, because for the most part the smeg-ups affect people other than the ones who hired the incompetent programmers (users, partner businesses, members of the general public, other programmers).

    If we really wanted to change the culture of professional programming, one of the key things we'd have to do is make it illegal to sell software or sell access to an online application that requires users to accept an EULA with language like this:

    THE SOFTWARE IS BEING PROVIDED TO YOU "AS IS" WITHOUT WARRANTY OF ANY KIND. $COMPANY DISCLAIMS ALL WARRANTIES WITH REGARD TO THE SOFTWARE; EXPRESS OR IMPLIED; INCLUDING; WITHOUT LIMITATION; ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE; MERCHANTABILITY; MERCHANTABLE QUALITY OR NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT WILL $COMPANY BE LIABLE TO YOU FOR ANY LOSS OF USE; INTERRUPTION OF BUSINESS; OR ANY DIRECT; INDIRECT; SPECIAL; INCIDENTAL; OR CONSEQUENTIAL DAMAGES OF ANY KIND (INCLUDING LOST PROFITS) REGARDLESS OF THE FORM OF ACTION WHETHER IN CONTRACT; TORT (INCLUDING NEGLIGENCE); STRICT PRODUCT LIABILITY OR OTHERWISE; EVEN IF $COMPANY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

    (Yes, this was taken directly from a real EULA, with the company name replaced to protect the guilty)

    Because once you read through it, you realize that what this is saying is that:
    1. The software may not work at all.
    2. The software may not do anything remotely similar to what it's advertised to do.
    3. The software may cause serious and expensive problems for you or your organization.
    4. The software may be infringing on patents, copyrights, or trade secrets of third parties. You have no way of verifying this one way or the other, and if it is the case, you rather than $COMPANY are liable for the damages.
    5. $COMPANY may know for a fact that this software will cause massive damage to you or your organization. Even so, they are not liable for this damage.

    In other words, right now you are allowed to sell the software equivalent of a live grenade with the pin pulled, packaged to look like it's a bag of dog food, and when the grenade goes off it's entirely your fault. Make the sellers of software entirely liable for the consequences of their own mistakes, and they'd demand processes and exams and continuing education requirements to ensure high quality programming.

    --
    The only thing that stops a bad guy with a compiler is a good guy with a compiler.
    Starting Score:    1  point
    Moderation   +3  
       Insightful=1, Interesting=2, Total=3
    Extra 'Interesting' Modifier   0  
    Karma-Bonus Modifier   +1  

    Total Score:   5  
  • (Score: 3, Interesting) by maxwell demon on Thursday May 01 2014, @02:54PM

    by maxwell demon (1608) on Thursday May 01 2014, @02:54PM (#38516) Journal

    Well, just because they write it in their EULA doesn't mean it really holds under the law. There's a reason why EULAs also contain sentences like this (also taken from a real EULA):

    If any provision of this EULA shall be held by a court of competent jurisdiction to be contrary to law, that provision will be enforced to the maximum extent permissible, and the remaining provisions of this EULA will remain in full force and effect.

    --
    The Tao of math: The numbers you can count are not the real numbers.
    • (Score: 3, Interesting) by Thexalon on Thursday May 01 2014, @03:41PM

      by Thexalon (636) on Thursday May 01 2014, @03:41PM (#38534)

      That it exists at all means that there exists at least one jurisdiction where such clauses are enforceable, and since many EULAs also include a declaration of venue (which is common in contracts of all sorts), they can simply pick a jurisdiction that allows those clauses.

      EULAs are one of the many places in which companies fleece consumers who don't have expensive lawyers. And even some with expensive lawyers: Now-senator Elizabeth Warren once described one of her regular exercises in her contract law courses as going through ordinary consumer contracts for cell phone plans and bank loans and credit cards and the like, and discovering that neither her, her students, nor her colleagues at Harvard Law could really figure out what they actually meant.

      --
      The only thing that stops a bad guy with a compiler is a good guy with a compiler.
      • (Score: 0) by Anonymous Coward on Friday May 02 2014, @03:26AM

        by Anonymous Coward on Friday May 02 2014, @03:26AM (#38734)

        "That it exists at all means that there exists at least one jurisdiction where such clauses are enforceable"

        Not necessarily. Perhaps the person putting in there put it in there in case there is a jurisdiction where such a clause is enforceable. Also, laws change with time so perhaps the clause is in there to anticipate possible changes in future laws. Perhaps one clause is valid in one location and not another. Sometimes it may depend on the court and the specific judge even.

        It's much easier to just put a catch all document than to try and figure out what each jurisdiction allows and work from there.

  • (Score: 4, Insightful) by Anonymous Coward on Thursday May 01 2014, @03:35PM

    by Anonymous Coward on Thursday May 01 2014, @03:35PM (#38532)

    Even the oldest, most wise and experienced rockstar of a programmer can never be exactly sure what his code will do, simply due to the fact that it will be compiled by software written by other people, run on operating systems written by other people on hardware designed, built and maintained by other people. Implementing functional requirements (often contradictory, or impossible) specified by other people. He can try to avoid catastrophic failure by building various types of safeguards into the software, maybe turn it into graceful failure, but he will never be able to prevent failure altogether.

    So please be a bit more nuanced. Designing and building a bridge, or doing a brain surgery, is child's play, compared to what many programmers in the world today have to deal with. THAT..and the lawyer culture, is why we have disclaimers.

    Civilization runs on what we do. I'm sick of being treated like a digital brick layer, after all the effort and expense I went through to learn what I know, while MBAs and banker parasites reap the profits.

    Yes I am an Anonymous Coward, and proud of it!