Coding Horror

programming and human factors

Sucking Less Every Year

Steve Yegge's whirlwind language tour is, as he points out, neither good nor complete, which makes it one of the best blog posts I've read this year. I'll spoil the ending for you: according to Steve, Ruby combines the best features of Perl, Smalltalk, Python, and Lisp into one bag of unparalleled goodness, while avoiding the pitfalls these languages fell into.

I really ought to look into this Ruby thing.

What's really remarkable about this article, though, are the many random gems of programming wisdom peppered throughout. Like this one:

When I started at Amazon, I could recite for you all the incantations, psalms, voodoo chants and so on that I'd learned, all in lieu of intelligence or experience, the ones that told me Multiple Inheritance is Evil 'cuz Everyone Says So, and Operator Overloading Is Evil, and so on. I even vaguely sort of knew why, but not really. Since then I've come to realize that it's not MI that sucks, it's developers who suck. I sucked, and I still do, although hopefully less every year.

I've often thought that sucking less every year is how humble programmers improve. You should be unhappy with code you wrote a year ago. If you aren't, that means either A) you haven't learned anything in a year, B) your code can't be improved, or C) you never revisit old code. All of these are the kiss of death for software developers.

We all write shitty software. But only the best developers realize they're doing it. It'd be ironic if it wasn't so depressing.

(via Damien Katz)

Written by Jeff Atwood

Indoor enthusiast. Co-founder of Stack Overflow and Discourse. Disclaimer: I have no idea what I'm talking about. Find me here: