Monday, September 24, 2007

Bugs and user errors

Some time ago someone who shall not be named blogged about a user error. In a certain popular IDE for a certain world-leading smartphone OS, there are two ways to shut down the emulator: you can do it from the IDE or by clicking the little red cross in the upper right corner of the emulator window. The above mentioned blogger had experienced problems when he used the little red cross: it'd take up to five minutes for the emulator to shut down properly. After contacting technical support, he was informed that a bug in the host operating system caused this, and that he should shut down the emulator from the IDE instead. He considered his previous way of doing it a user error.

Now, I know that programmers aren't always wizards of usability, but considering that a user error is like... stupid. I posted a comment where I compared it with a case that I considered to be analogous: let's say you have a document viewer, and you can scroll up and down either by using the cursor keys or by dragging a scrollbar, but if you use the keyboard, the app will crash at random now and then. Would you consider it a user error to use the keyboard to scroll in this case? Probably not. It's a bug.

The comments on that blog are checked by the blogger before they're actually displayed, and it seems my comment wasn't okay, which is why I'm writing about it here instead.

Oh, and by the way, do you know how sweet it is to do some Linux development after being stuck with Symbian for the last couple of years? Sweet as Arabian sweets, I tell ya!

Monday, September 10, 2007

Bad language

This is old, but I'm in a bit of a ranting mood, for some reason... I read some comment on a blog about the C language, and how it sucks for several reasons. Of course it sucks if you want a language with garbage collection and bounds-checking. If you want that you use some other language. If you want a portable assembler, you use C or C++. Or something similar, if you're feeling excentric. It's pretty simple: C sucks if you want Python. Python sucks if you want Java. Java sucks if you want Prolog. Prolog sucks if you want Intercal.