Tuesday, September 26, 2006
I spent the weekend downloading and trying out various programs for a specific task that I'd like to accomplish. The more I downloaded and tested, the more despondent I became. I am almost completely convinced that nobody should ever write a program in an interpreted language. If you can't figure out how to bring your vision to life without using Java, Python, or some other almost-language for the programmer-lite crowd, perhaps you should find a new line of work. (The one possible exception I have found to my anti-Java rule is DbVisualizer, but even it is not as good as it could be.)
It was downright depressing to see all these clunky interfaces, slow-moving graphics, and dialog boxes that felt like they were mired in molasses. The machines I use are both perfectly capable of running World of WarCraft at highest resolution (for the video card) while getting 30 fps or better. Therefore there is no reason whatsoever that my clicking on a dialog box control should take anything like a noticeable amount of time before the control visually reacts, to say nothing of a second or two as some of them did. Either you suck as a programmer or your tools suck. If it's the first one, find a new hobby. If it's the second, get better tools. Learn a compiled language. Run some stinkin' performance tests every once in a while.
And for God's sake, do some reading on interface design. Drag and drop is a pain to program, but it's totally worth it, especially when your audience is expecting it because everything else on their computer works that way. If I want to move a chess piece on a game board, I should not have to type in the standard chess nomenclature, or even click the piece and then click the spot I want to move it to. I should be able to grab the piece with my mouse and have its movement options displayed on the board, while the program limits the places I can put it to those places which are legal moves. Is it more work for you? Hell yes! But at least then your program won't SUCK!
The first purpose of a computer program is to make some task easier, faster, more efficient, or somehow "better". The second purpose is to make performing that task as hassle-free for the user as possible. It's hard to say whether the programmers whose electronic creations have been giving me such fits have succeeded in the first purpose, because the second purpose appears to be completely ignored. With so many bad programmers/programs out there, is it any wonder that the average user hates his computer with a passion?
Posted by Tom, 9/26/2006 6:02:17 AM (Permalink). 0 Comments. Leave a comment...