Q: How do you get a geek out of a tree? A: What's a tree?

My Programming Pet Peeves

Date/Time Permalink: 09/11/06 02:09:47 pm
Category: LINKS and Lists

Even the fiercest Linux hackers get burnt out. Here in no particular order are a grep of random gripes I've had while interfacing with my most favorite invention:

1. Web Programming is a Steaming Turd.
And the exact reason why it is a steaming turd is because there is no do-everything web design language. Write this text in HTML. What, you want to define your own HTML tag? Sorry, you need XML. You need to apply tags to a bunch of elements as a group? No, you need CSS for that. What, animate it like a cartoon? No, you have to use Flash now. You want a user interface on your page? No, you need Javascript for that. Well, then, something to generate it all for you? Silly, you're scripting for the *server* side, not the *client* side - we COULDN'T have the same language do both, now could we? Go learn PHP! What, you want to run from the server side and the client side at the same time??? You knucklehead, you're going to have to learn AJAX, which is made of two languages you already know, but we had to combine them and change them subtly because every damn line of web page code simply MUST be in a different language! In fact, it simply KILLS us that you're able to use similar syntax to make text bold and italic, but we're working our ass off to break that.

2. Just because you're using a scripting language doesn't mean you can ignore conventions of writing maintainable code.
Why is proper indenting, commenting, and breaking things down by component parts such a given in assembly and C, but you stick somebody in front of a PHP or Perl interpreter and they're suddenly writing unreadable spaghetti? As languages get more powerful we can certainly do more with less code, but that doesn't mean it will be any easier to modify later. Running it through Tidy or Indent would at least help. A five-line function call or conditional statement without once hitting the return key in a language that's white-space indifferent is just plain malicious.

3. Hello, Sun, Java is still just a language?
Until it's GPLed from the ground up, virtual machine and libraries and all, don't sit there asking "Why aren't more people using Java?" Because I have five other languages that do the same thing with fewer strings attached, that's why. And quit tap dancing around about whether or not you're opening the code; I'm sick of having the football pulled away (that's a Lucy and Charlie Brown reference, for the confused). I don't want to see another headline about Sun opening Java until I can download the tarball from a public server with the blessings of GPL 2.0. So far, Sun hasn't succeeded in opening anything but their big mouth.

4. Quit trying to invent languages that are easy to use.
EVERY language since the dawn of programming has been "written to be easy to use".... to do the thing that language was designed for. The more I hear about how a language is dumbed down, the more I try it and discover that it's unfit for anybody but dummies. The arrogance of those posturing and pontificating and posing in high-brow ivory-tower theory about interface design is staggering, and when these people produce anything at all, they produce crap. And Donald Norman is still in need of being hung from a yardarm.

5. ASP is uglier than a dead pig.
Every site done in ASP that I've seen looks like a Compuserve home page done on a Commodore 64. Who the hell in their right mind uses this busted, slow, buggy language, when it produces results as bad as the output I was getting running BASIC in a terminal in the 80's? Also, quit playing with color schemes; the rest of the web makes new links blue and visited links purple, with perhaps some yellow on the hover - that applies to ASP pages, too. And there's these new inventions called "CSS", "transparency" and "gradients", if you can believe that.

6. Don't even debate the relative merits of one language over another if you've only learned one damn language.
Yes, it is natural to declare that your home town is prettier, your children are smarter and better-behaved, your country is freer, etc. But with programming languages, you simply floated out into the world and stuck to the first thing you bumped into, then clung to it for life. There's another life form that does that; it's called a barnacle.

That's my rant. What are some programming pet peeves I should have added? I know there's more than just six.

Follow me on Twitter for an update every time this blog gets a post.
Stumble it Reddit this share on Facebook

suddenly the moon