"...every one of them is slowly going mad."

I found this blog entry about how much programming sucks though Lifehacker today. If you were to ask me what the top problem with programming is, I'd say something to the effect of "programs are written for computers rather than for people" or "code is like a hammer you have to read" and so on. (You didn't ask me about programming but I'm going to tell you anyway.) I'd suspect that most of what makes code "bad" comes down to the inherent differences between computers and human beings. Humans tend to freak out without context while computers don't need reasons to get things done. Humans see value in hard work, so they'll hammer away at the same problem for weeks or years; a computer will do the same but we don't see any value in its long-term labor unless there really isn't a faster way to do it.

So, I think I interpreted the blog post differently than Lifehacker did. Their idea was "The good news, if you're learning to code, is you don't have to worry (too much) if your code is bad." The impression I get is that you just can't write good code unless you're also doing good writing. That means you're simultaneously writing for an audience with perfect comprehension and no consciousness (computers, that is) and for human beings with plenty of consciousness but far from perfect comprehension. That doesn't sound fun at all. The solution most programmers use is to not even bother.

A few choice quotes from the post echo these sentiments:

Not a single living person knows how everything in your five-year-old MacBook actually works. Why do we tell you to turn it off and on again? Because we don't have the slightest clue what's wrong with it, and it's really easy to induce coma in computers and have their built-in team of automatic doctors try to figure it out for us. The only reason coders' computers work better than non-coders' computers is coders know computers are schizophrenic little children with auto-immune diseases and we don't beat them when they're bad.

The human brain isn't particularly good at basic logic and now there's a whole career in doing nothing but really, really complex logic. Vast chains of abstract conditions and requirements have to be picked through to discover things like missing commas. Doing this all day leaves you in a state of mild aphasia as you look at people's faces while they're speaking and you don't know they've finished because there's no semicolon. You immerse yourself in a world of total meaninglessness where all that matters is a little series of numbers went into a giant labyrinth of symbols and a different series of numbers or a picture of a kitten came out the other end.

It's a good post. It's very cathartic.