I just read this post on Lifehacker (and watched the accompanying video which I embedded above) and I'm feeling very liberated from normal grammatical constraints.
In case you don't feel like watching the video, it's basically six minutes of Stephen Fry ranting about how he thinks that grammar gets in the way of many people's enjoyment of language. The argument he makes is that language is about expression and creativity, and grammer rules rarely contribute to the clarity or quality of the message. He says that too many people focus on grammar instead of focusing on the more important aspects of language. He keeps referring to these people "pedants" which is an awesome word that I need to use more when I'm trying to insult uptight people.
As you may have guessed already, I'm not really writing this post to talk about grammar or language. I'm perfectly capable of using improper grammar without intellectualizing it (what can I say, it just comes naturally to me). But Stephen Fry's approach to grammar got me thinking about other things that are ruined by pedants. I'm going to briefly examine three main areas that contribute to the creation of software products.
I majored in computer science in college. When you learn to program from CS professors (who would never admit to being "programmers"), you learn a lot of rules but you never really learn why the rules matter. You learn how to use abstraction, and how to properly access instance variables, and a million other things but none of that stuff seems to have anything to do with actually writing functional software.
I'm not advocating sloppy code any more than Stephen Fry is advocating ignorance toward grammar, but the point is that many programmers are guilty of pedantry that is just as pointless and (potentially) harmful as that of the grammar nazi. If writing "good" code contributes to one's ability to create good software, then it makes sense. But it's important to remember that the end goal is the working product, not the code.
Design is inherently more driven by creativity than programming so it's harder to find examples of nitpickers focusing on minutia, but there are still plenty of cases where designers get in their own way because of rules. The two examples that immediately come to mind are color theory and typography. Both of these disciplines are weird blends of art and science that theoretically help designers to design "correctly." But no matter how much theory you know, design quality comes down to creativity, inspiration and vision. Sure, having a solid understanding of typography can help you polish off a design, but adhering to the rules too closely could prevent you from creating something truly unique and worthwhile.
The difference between good software and great software is often the quality of the writing. From the initial sales pitch to the instructions to the labels on buttons to the error messages, every word that shows up in a software product matters, and I think that most companies end up with really mediocre copy. This is because they follow a bunch of stupid rules. For example, why do companies write, "We apologize for any inconvenience this may have caused," when what they mean is, "I'm really sorry"? The answer is simple. They write that way because everyone else writes that way. There is a "correct" way to write business copy and pedants are willing follow these rules head first off a cliff.
The point I'm trying to get at here is that pretty much every discipline has rules that are considered standard practice. These rules often serve a purpose, but remember that your goal is rarely to simply satisfy the rules. Language is about communicating ideas. Design is about making something look pretty. Programming is about making software that works. Whatever it is that you do, make sure you're not letting rules distract you from the real reason you're doing it. Don't be a pedant.