What Not to Do as a Programmer

Written by Imortis Inglorian

This article will be different from the ones I have done so far (notice my vanity in assuming that people have noticed my writing style). This article will be more along the lines or a rant about things that I see in programmers both on the net and in my everyday life. I will start with my biggest pet peeve.


Category 1: The "Why Would You Want to Do That?" category

I don't know home many times I've said something to someone and gotten this response: "Well, why would you want to do that?" This question and be in response to any number of inquiries or statements of intent. More often than not it is because you are using a programming language that the other person either a) doesn't know how to use, or b) doesn't prefer to use.

I also place in this category people asking questions like "How can I do [insert task here] with [insert library here]," and having people respond with "Use [insert other library here]." If a person doesn't know how to do what this person is asking, how they are asking, that person should tell them as much. It makes the responding person sound arrogant and unpleasant to deal with. As a manly man (read: testosterone junkie), I often find myself doing this in order to avoid saying "I Don't Know". That's just my reason for doing so. Others, I'm sure, have other reasons. I have been trying to correct myself to keep from doing this because it can sound almost nasty at times and is similar to slicing ones nose from ones face and saying "That'll learn ya!" It doesn't help the person saying it or the person seeking help.

I can't speak for most people but I don't program because it's easy. I do it because it's fun. I enjoy the challenge. If it's too easy, it's not fun. Telling me to use some other method that the one I asked about because it is easier will ensure that I don't use it. I will, of course, ask for help or a nudge in the right direction when I am stumped, but if I want to go to Los Angeles, California by way of Omaha, Nebraska, don't tell me to change my route, unless it is absolutely impossible. If it is impossible, tell me why (if you know). Then I will change my plan.


Category 2: The "Size is No Longer Important" category

This one has chapped me for a very long time. Just because you have the space, doesn't mean you need to use it. I for one am upset when my videogames take up 4 times the space of my operating system. One of the main reasons used for not learning assembly language is that new computers have a lot of storage space, so it doesn't matter how bloated the program is. I'm talking to you, .NET Framework! I recently downloaded a CD Image which contained over 800 DOS games. That means that each game clocked in at around 1mb a piece. Now, you are lucky if you can get one game on 2 CDs. It would be one thing if the size was in relation to the fun of the game, but many of the old DOS games were as fun, if not more fun, then the new Behemoths. I'm all for good graphics, but there needs to be a balance graphics and size.

Also speed is important too. Many people insist that since RAM is so cheap and abundant, conserving memory is a thing of the past. This is far from true. I can't tell you the number of times I have had programs crash from overuse of memory. Windows XP requires at least 512mb of RAM, then it makes a page file which takes up anywhere from 128mb to 512mb (system default settings) of hard drive space to use as RAM, and yet is will still crash when any real strain is put on the OS. A combined 1gb minimum of space is not enough for this resource hog.


Category 3: The "I Know That And You Know That, But They Don't Know That" category

Many commercial software companies fall prey to this one. A good example is CYBERSitter, an internet filtering software. They used to proclaim that their software was able to filter web pages on the basis of context. It was supposed to be able to discern the difference between, "His court room tactics were barely legal" and "Our porn stars are barely legal." They had been telling customers that for a good while when a study done showed that they were lying through their teeth. The idea was that if they tell the customer that it works, the general customer won't question it. And they were right. Once someone saw through their 'clever' ruse, they promptly removed the claim from their web site.

Antivirus companies do this all the time by saying they posses the "industries leading virus detection technology", when many of them could not find their own rear end in the dark with both hands.

Conclusion

I do feel better now that I have gotten those off my chest. If you are guilty of any of these things, it couldn't hurt to change your ways. It could very well hurt to not change your ways… Anyway, that's just my 2 cents worth.