Author Topic: Programming sucks  (Read 2626 times)

Balog

  • Unrepentant race traitor
  • friends
  • Senior Member
  • ***
  • Posts: 17,774
  • What if we tried more?
Programming sucks
« on: May 05, 2014, 01:38:26 PM »
I don't do it, but living and working near Microsoft, Amazon etc I know enough folks who do that this rings true.

http://stilldrinking.org/programming-sucks
Quote from: French G.
I was always pleasant, friendly and within arm's reach of a gun.

Quote from: Standing Wolf
If government is the answer, it must have been a really, really, really stupid question.

Tallpine

  • friends
  • Senior Member
  • ***
  • Posts: 23,172
  • Grumpy Old Grandpa
Re: Programming sucks
« Reply #1 on: May 05, 2014, 01:59:16 PM »
yeah, writing "good code" and then having the company turn it over to some cleverly stupid monkeys to revise because they work a little bit cheaper per hour and now it's so messed up that it needs to be all thrown out and started over but there is no budget for that and besides by the time it got through the certification cycle the operating system that it runs on is totally obsolete

Freedom is a heavy load, a great and strange burden for the spirit to undertake. It is not easy. It is not a gift given, but a choice made, and the choice may be a hard one. The road goes upward toward the light; but the laden traveller may never reach the end of it.  - Ursula Le Guin

RevDisk

  • friend
  • Senior Member
  • ***
  • Posts: 12,633
    • RevDisk.net
Re: Programming sucks
« Reply #2 on: May 05, 2014, 02:07:43 PM »

Writer is socialist that wants to round up guns and eradicate religion.

But yea, the linked article is correct. It's honestly amazing how well things work considering how they are designed, engineered, produced and then maintained.
"Rev, your picture is in my King James Bible, where Paul talks about "inventors of evil."  Yes, I know you'll take that as a compliment."  - Fistful, possibly highest compliment I've ever received.

Tallpine

  • friends
  • Senior Member
  • ***
  • Posts: 23,172
  • Grumpy Old Grandpa
Re: Programming sucks
« Reply #3 on: May 05, 2014, 02:11:44 PM »
Writer is socialist that wants to round up guns and eradicate religion.

But yea, the linked article is correct. It's honestly amazing how well things work considering how they are designed, engineered, produced and then maintained.

And you can feel safe knowing the FAA is pointing out spelling errors in certification documents but never really looking at the code  ;/
Freedom is a heavy load, a great and strange burden for the spirit to undertake. It is not easy. It is not a gift given, but a choice made, and the choice may be a hard one. The road goes upward toward the light; but the laden traveller may never reach the end of it.  - Ursula Le Guin

Balog

  • Unrepentant race traitor
  • friends
  • Senior Member
  • ***
  • Posts: 17,774
  • What if we tried more?
Re: Programming sucks
« Reply #4 on: May 05, 2014, 02:11:51 PM »
Writer is socialist that wants to round up guns and eradicate religion.

But yea, the linked article is correct. It's honestly amazing how well things work considering how they are designed, engineered, produced and then maintained.

I have no knowledge of anything the author has ever done or said. Besides, if I only read things by people I agree with I'd never read anything.  :lol:
Quote from: French G.
I was always pleasant, friendly and within arm's reach of a gun.

Quote from: Standing Wolf
If government is the answer, it must have been a really, really, really stupid question.

Headless Thompson Gunner

  • friend
  • Senior Member
  • ***
  • Posts: 8,517
Re:
« Reply #5 on: May 05, 2014, 05:13:51 PM »
Meh.  Far too many programmers act like they're the only person in the world who knows how to do the job right.  Programmers love whining about the  incompetence of everyone and everything around them.

Ever notice how there are some prefessions (like the law) in which nobody will ever speak ill of a fellow practitioner, not even someone obviously, fantastically, famously bad at it?  Programming is like that, only in reverse.

Tallpine

  • friends
  • Senior Member
  • ***
  • Posts: 23,172
  • Grumpy Old Grandpa
Re:
« Reply #6 on: May 05, 2014, 06:13:18 PM »
Meh.  Far too many programmers act like they're the only person in the world who knows how to do the job right.  Programmers love whining about the  incompetence of everyone and everything around them.
A couple years ago I had the misfortune to be thrust into supervision of four other developers.  I assigned them the easiest and most straightforward problems and did the hard ones myself.  I spent about 50% of my time managing and helping them to do about 20% of the work, and the other half of my time actually doing the other 80% of the work.

And then I had to re-do most of what the other four guys had sorta done ;/
Freedom is a heavy load, a great and strange burden for the spirit to undertake. It is not easy. It is not a gift given, but a choice made, and the choice may be a hard one. The road goes upward toward the light; but the laden traveller may never reach the end of it.  - Ursula Le Guin

GigaBuist

  • friends
  • Senior Member
  • ***
  • Posts: 4,345
    • http://www.justinbuist.org/blog/
Re:
« Reply #7 on: May 05, 2014, 08:49:25 PM »
Programmers love whining about the  incompetence of everyone and everything around them.

The bad ones never complain.


Ever notice how there are some prefessions (like the law) in which nobody will ever speak ill of a fellow practitioner, not even someone obviously, fantastically, famously bad at it?  Programming is like that, only in reverse.

Drop all educational requirements and state licensing requirements and see how quickly that changes.  I don't think lawyers keep their opinions to themselves because they're morally superior, but rather they all belong to a "guild" of sorts -- and that tends to keep members from speaking poorly of an individual because it taint the overall guild.

Marnoot

  • friend
  • Senior Member
  • ***
  • Posts: 2,965
Re:
« Reply #8 on: May 05, 2014, 11:02:43 PM »
Meh.  Far too many programmers act like they're the only person in the world who knows how to do the job right.  Programmers love whining about the  incompetence of everyone and everything around them.

Ever notice how there are some prefessions (like the law) in which nobody will ever speak ill of a fellow practitioner, not even someone obviously, fantastically, famously bad at it?  Programming is like that, only in reverse.

Make it a big part of lawyers' jobs to try to salvage cases that other lawyers have bunged-up because though they somehow managed to pass the bar, they don't really get the whole "law thing" and see how quickly that changes . . .

The bad ones never complain.

Also this.

zahc

  • friend
  • Senior Member
  • ***
  • Posts: 5,803
Re: Programming sucks
« Reply #9 on: May 05, 2014, 11:17:22 PM »
Programming sucks for a variety of reasons, but mostly because the discipline was not pursued or perfected before computing machines were invented,  and so the whole thing has been improv and half-assery from the beginning when the task of inventing programming fell to the people who built the machines. For a correctly pessimistic viewpoint on the state of computer science,  read the essay "On the cruelty of really teaching computer science" by the late E. Djikstra, or wade through some of his essays at http://www.cs.utexas.edu/users/EWD/.
Maybe a rare occurence, but then you only have to get murdered once to ruin your whole day.
--Tallpine

Fitz

  • Face-melter
  • friend
  • Senior Member
  • ***
  • Posts: 6,254
  • Floyd Rose is my homeboy
    • My Book
Re: Re:
« Reply #10 on: May 05, 2014, 11:17:52 PM »
Make it a big part of lawyers' jobs to try to salvage cases that other lawyers have bunged-up because though they somehow managed to pass the bar, they don't really get the whole "law thing" and see how quickly that changes . . .

Also this.



This


Good developers are worth their weight in gold. Literally everyone's job is easier. Including us server jockeys
Fitz

---------------
I have reached a conclusion regarding every member of this forum.
I no longer respect any of you. I hope the following offends you as much as this thread has offended me:
You are all awful people. I mean this *expletive deleted*ing seriously.

-MicroBalrog

RevDisk

  • friend
  • Senior Member
  • ***
  • Posts: 12,633
    • RevDisk.net
Re: Programming sucks
« Reply #11 on: May 06, 2014, 08:47:21 AM »
Make it a big part of lawyers' jobs to try to salvage cases that other lawyers have bunged-up because though they somehow managed to pass the bar, they don't really get the whole "law thing" and see how quickly that changes . . .

Also this.

This. Oh, gods, this. In corporate lawyer world, where you DO have lawyers who salvage the abysmal horror of a previous lawyer's work, trust me, the gloves can fly off quick. Usually not in public, but that's solely because they can and will get fired for bad PR.


Programming sucks for a variety of reasons, but mostly because the discipline was not pursued or perfected before computing machines were invented,  and so the whole thing has been improv and half-assery from the beginning when the task of inventing programming fell to the people who built the machines. For a correctly pessimistic viewpoint on the state of computer science,  read the essay "On the cruelty of really teaching computer science" by the late E. Djikstra, or wade through some of his essays at http://www.cs.utexas.edu/users/EWD/.

True, but IMHO, not the complete picture.

In my opinion, we have three key parts. Programmer culture, proliferation of programming languages and speed of development.

Programmer culture:

There's a main split between self-taught and formally taught. Usually either school or more rarely, some training program. Self-taught focus on clever solutions rather than standardization. Formally trained folks often focus too much on standardization, and the standardization is usually hilariously badly designed. You need both. It's generalization and should be taken as a very loose concept, but very common. I rarely see self-taught programmers that are SDLC Commissars, but I've seen hundreds that were cowboys. Formally trained folks are more likely to be hit or miss whether they end up as loose cannons or procedural NKVD. We need something flexible enough to get the job done, but rigid enough to enforce good habits such as documentation, good security practices, optimization, etc. Good programmers find that balance. All the genius in the world won't overcome zero documentation, gaping security holes, slow DB io, etc.


Programming languages:

IMHO, absolutely no one should be coding in Java, as generally there tends to be between tens and hundreds of open vulnerabilities and Oracle refuses to consider a sane or reasonable patching regime. This has been the case for several years. Has it stopped folks from writing Java apps? Nope. Will it stop folks from writing apps? Nope. SHOULD it stop people from writing Java apps? Depends on what you value. To me, I care about my customer or employer's data. A manager deciding how to code a Blu-Ray player or interface for a SAN doesn't care about my data. They care about making their deadlines and budgets, with a secondary focus on selling products. Their interest in end user safety exists, but it's way down the priority list.

No programming language meets every metric for everyone. Do you prefer ease of development, or speed? Do you prefer security or speed?

Best folks can do is not hop on the bandwagon for every new programming language, and try to develop good practices for the programming language they do use. I'd recommend that folks who design a new programming language put some thought into developing best practices during their build process. But hey, why not wish for unicorns and world peace at the same time?


Speed of development:

Basically, we write crap code too fast to make deadlines and/or add features. Why? Because of deadlines. Because of need to sell products to earn a paycheck. Because users often care about features or shiny over stability and security. Because writing new features is more interesting than code reviews and boring checklists. Some programmers decry "patch culture". I understand the scorn, but I'll take it over the previous culture of "Well, once it's released, security vulnerabilities will NEVER be fixed." Embedded devices are still usually in this model. Cell phones are also largely of the same model.
"Rev, your picture is in my King James Bible, where Paul talks about "inventors of evil."  Yes, I know you'll take that as a compliment."  - Fistful, possibly highest compliment I've ever received.

Tallpine

  • friends
  • Senior Member
  • ***
  • Posts: 23,172
  • Grumpy Old Grandpa
Re: Re:
« Reply #12 on: May 06, 2014, 09:47:56 AM »
Good developers are worth their weight in gold. Literally everyone's job is easier. Including us server jockeys

Maybe, but no one wants to pay that much.

Bad developers are cheaper per hour ;/
Freedom is a heavy load, a great and strange burden for the spirit to undertake. It is not easy. It is not a gift given, but a choice made, and the choice may be a hard one. The road goes upward toward the light; but the laden traveller may never reach the end of it.  - Ursula Le Guin

DustinD

  • I have a title
  • friends
  • Senior Member
  • ***
  • Posts: 919
  • I have a personal text message
Re: Programming sucks
« Reply #13 on: May 06, 2014, 07:58:44 PM »
Quote
Ever notice how there are some prefessions (like the law) in which nobody will ever speak ill of a fellow practitioner, not even someone obviously, fantastically, famously bad at it?
Redefine lawyer to include internet lawyers, or anyone who rants about the law, or has some "cute" theory, or strongly believes their technicality is relevant when it isn't.

With that in mind lawyers don't look so good any more.
"I don't always shoot defenceless women in the face, but when I do, I prefer H-S Precision.

Stay bloodthirsty, my friends."

                       - Lon Horiuchi

GigaBuist

  • friends
  • Senior Member
  • ***
  • Posts: 4,345
    • http://www.justinbuist.org/blog/
Re: Programming sucks
« Reply #14 on: May 06, 2014, 11:26:47 PM »
Programming sucks for a variety of reasons, but mostly because the discipline was not pursued or perfected before computing machines were invented,  and so the whole thing has been improv and half-assery from the beginning when the task of inventing programming fell to the people who built the machines. For a correctly pessimistic viewpoint on the state of computer science,  read the essay "On the cruelty of really teaching computer science" by the late E. Djikstra, or wade through some of his essays at http://www.cs.utexas.edu/users/EWD/.

Djikstra was a smart guy, and made important contributions, but I lump him in with everybody else that refused to think of computer programming as anything but math.  Guys like Djikstra wanted concrete testable solutions, which you can do for basic algorithms, or problem solving something VERY specific, but their idea of total validation of every code path falls apart so damned quick on anything as simple as a video game from 1985 it just makes you wonder why they didn't drop the idea.  Djikstra was one of those guys that saw problems and inputs and being very controlled but they aren't in the modern world, not when you've got a kid with a video game controller or 9,00,000 people in the internet banging crap into your web application that does 200 different functions.

Guys like Djikstra wanted sanity, not functionality, and they're never going to get sanity outside of a stupid college lab assignment.

Which is pretty funny, to me, because I'm mostly familiar with Djikstra's algorithm to find the shortest path between two points on a graph, considered an NP problem (too complex to brute force) but he thought you could make computer programs testable when finding the best route from point A to point B isn't exactly provable without immense computing power in the real world, let alone in a computer program.

Yeah, I kinda rambled a bit.  Touchy subject with me.

RoadKingLarry

  • friends
  • Senior Member
  • ***
  • Posts: 21,841
Re: Programming sucks
« Reply #15 on: May 07, 2014, 08:15:02 AM »
That mostly sounds like life in any business when a committee gets involved, particularly when the one in charge has no experience in reality.

If ye love wealth better than liberty, the tranquility of servitude better than the animating contest of freedom, go home from us in peace. We ask not your counsels or your arms. Crouch down and lick the hands which feed you. May your chains set lightly upon you, and may posterity forget that you were our countrymen.

Samuel Adams

RevDisk

  • friend
  • Senior Member
  • ***
  • Posts: 12,633
    • RevDisk.net
Re: Programming sucks
« Reply #16 on: May 07, 2014, 09:03:08 AM »

I concur with GigaBuist. I'm willing to bet that it's endemic to other professors as well, but the overwhelming majority of professors I had in CS had exactly zero real world knowledge or experience. The theory was nice to have, but only one in ten could apply it to real world applications if you put a gun to their head.

Outside of maybe a 400 level specialty class, exactly zero professors cared or even mentioned such esoteric concepts as validate inputs, basic security concepts like preventing buffer overflows or SQL injection, etc. Yes, such concepts SHOULD be part of Programming 101 level classes.
"Rev, your picture is in my King James Bible, where Paul talks about "inventors of evil."  Yes, I know you'll take that as a compliment."  - Fistful, possibly highest compliment I've ever received.

zahc

  • friend
  • Senior Member
  • ***
  • Posts: 5,803
Re: Programming sucks
« Reply #17 on: May 08, 2014, 07:31:54 AM »
Computer science and programming are not the same thing. 
Maybe a rare occurence, but then you only have to get murdered once to ruin your whole day.
--Tallpine

RevDisk

  • friend
  • Senior Member
  • ***
  • Posts: 12,633
    • RevDisk.net
Re: Programming sucks
« Reply #18 on: May 08, 2014, 08:44:58 AM »
Computer science and programming are not the same thing. 

Apply to anything dealing with real world IT and compsci. Networking, human technology interaction, etc. CompSci is somewhat good for teaching theory, and some of it was useful (usually indirectly). It just lacked even a secondary focus on practicality. It seemed geared towards making more CompSci professors. Most useful projects were basically hobbies of individual professors. I mildly helped out on making a haptic feedback simulator for lumbar punctures, probably most useful and educational part of my time in CompSci.
"Rev, your picture is in my King James Bible, where Paul talks about "inventors of evil."  Yes, I know you'll take that as a compliment."  - Fistful, possibly highest compliment I've ever received.

HeroHog

  • Technical Site Pig
  • Administrator
  • Senior Member
  • *****
  • Posts: 8,050
  • It can ALWAYS get worse!
    • FaceButt Profile
Re: Programming sucks
« Reply #19 on: May 08, 2014, 09:56:54 AM »
Something I wrote years ago when VERY frustrated at my job as a Sr. Programmer/Analyst:

I am a programmer.
I think logically.
There are no shades of gray in my world, only black and white.
If I ask you a yes or no question, I expect a yes or no answer.
You do not solve a problem having multiple facets in one step.
Programs are written to work on individual parts of a problem one at a time and have a logical flow.
ANY problem that can be programmed, using current technology, WILL be based on yes/no decisions.
ANY issue can be further sub-divided down to get to a yes/no level or it can not be resolved.
If I am not given adequate parameters to get to a yes or no level, I can not solve your problem.
When I have inadequate data, I will ask for more until I can solve the problem I am working on.
Any data that does not directly apply to the current yes/no question is irrelevant and only clouds the issue.
I might not last very long or be very effective but I'll be a real pain in the ass for a minute!
MOLON LABE!

Tallpine

  • friends
  • Senior Member
  • ***
  • Posts: 23,172
  • Grumpy Old Grandpa
Re: Programming sucks
« Reply #20 on: May 08, 2014, 10:50:02 AM »
I used to say that there are no complex problems, only complex solutions.

Any solution can be simple if you break the problem down into small enough pieces.

If your solution is complex, then you haven't analyzed the problem adequately.



Complex solutions are error prone, and not scalable or reusable.  Unfortunately, most developers are way too proud of their complex solutions  ;/
Freedom is a heavy load, a great and strange burden for the spirit to undertake. It is not easy. It is not a gift given, but a choice made, and the choice may be a hard one. The road goes upward toward the light; but the laden traveller may never reach the end of it.  - Ursula Le Guin

GigaBuist

  • friends
  • Senior Member
  • ***
  • Posts: 4,345
    • http://www.justinbuist.org/blog/
Re: Programming sucks
« Reply #21 on: May 08, 2014, 11:35:37 PM »
CompSci is somewhat good for teaching theory, and some of it was useful (usually indirectly). It just lacked even a secondary focus on practicality. It seemed geared towards making more CompSci professors.

I would disagree there.  I found in my IT career that a good majority of capable developers were severely lacking in some basic CS areas.  Like not understanding Big O.  Not understanding that an OS abstracts out disk operations, and that just because you closed a file doesn't mean it actually hit disk yet.  How a pseudo random number generator works.  They could program, but they didn't know what was happening behind the scenes.

A good example of the Big O stuff would be a project I had about 7-8 years ago.  It was in some flavor of ASP.Net and the developer pulled a large table of data from the DB that had parent/child relationships.  It created a nested structure that would be expanded when the user clicked on a node. When a click occurred it would find children of that node and then write them to the display.  We're talking close to 40,000 nodes in the tree if you were ever to fully expand it. The original developer could not figure out how to make to go faster.  His original design just built the whole tree (worked fine when it had 40 nodes in testing) but at 40,000 it took to long.  So he made it rebuild on the fly with each click.  So he called a .Filter() method on the dataset to only get children of the parent and then looped through that to add them in.

Problem was, and he couldn't figure this out, is that that .Filter() method ran a quicksort to do its job (stupid, but whatever) so the performance was a best a Big O of N log N and at worst N^2, and then he'd have to still rifle through the results at a rate of N to add them to the tree.

It was faster just to rifle through all 40,000 points, test for a parent, and add them.

Why do I remember that one?  Because I had to explain it to every CS degreed guy that got it after I fixed it and they saw my comments.

CypherNinja

  • friend
  • Member
  • ***
  • Posts: 467
Re: Programming sucks
« Reply #22 on: May 09, 2014, 12:23:12 AM »
“Fear of death increases in exact proportion to increase in wealth,” Hemingway once said. Today, many of us have become rich in the currency of cowardice. We have so many things and so few experiences. We are desperate to live as long as possible, not as large as possible. We are so afraid to say goodbye to the world that we never say hello.
-Marty Beckerman (from a Wired article of all things)

Tallpine

  • friends
  • Senior Member
  • ***
  • Posts: 23,172
  • Grumpy Old Grandpa
Re: Programming sucks
« Reply #23 on: May 09, 2014, 10:42:47 AM »
Quote
the developer pulled a large table of data from the DB

One of my first big jobs was a simulator that pumped a bunch of data to/from a cockpit avionics setup in a lab.  It had to be configurable, and there were hundreds or thousands of addresses/data types.

They wanted the database to be in MS Access so that others could maintain it.  I quickly found out that I had to load the entire database into a memory structure when the software loaded, because looking up the data on the fly from Access was way too slow for 20 Hz frames.
Freedom is a heavy load, a great and strange burden for the spirit to undertake. It is not easy. It is not a gift given, but a choice made, and the choice may be a hard one. The road goes upward toward the light; but the laden traveller may never reach the end of it.  - Ursula Le Guin