Snobbery & Geekery
There's no denying that in recent years the world has embraced geekdom. It's been reinvented, repackaged, and sold at a higher price. Suddenly kids with leather jackets, slicked back hair, who drove hot rods to school, and always had a fresh toothpick hanging out their mouths are no longer cool. It's the geeks. And moreover, it's the geeks who can fix your computer.
Of course, now that geekdom has become so cool, and those poor Greasers suddenly feel left out, everyone is trying to be Geek. What's now happened is you have three forms of Geek. There's the geeks who are geeks, and can't help but be geeks, and also don't know what to do with this sudden new found popularity, then there's the geeks who are geek-chique but still need a geek when their computer has a bug, and finally there's the veteran geek who is looking at the geeks of modern day and grumbles with other Geeks over their TelNet wire about how true geeks shouldn't be popular, and how they probably don't even know how to Phone Phreak.
The result of all this embracing of geekdom has been that the younger geek is now protecting what it is to be geek. Protecting it with their lives. The other day, as I sat around - the cuffs of my pants a good 3 inches above my ankles in ample preparation for any flooding, I over heard the following conversation between two women. One of them said to the other: "Do you get these new Microsoft commercials?" and the other replied with: "No, my boyfriend finds them hilarious though. But he won't explain them to me. He says I won't get it. Only geeks get it."
Now anyone that trolls the wire knows that there's a lot of clamor these days about the difficult to comprehend commercials of Microsoft. Geeks, and Geek-Chiques alike. But what mostly struck me is that sentence: "He says I won't get it." That phrase - 'you won't get it' is the essence of all snobbery.
Car snobbery: "Why would I want to be a Pantera car?" "Ugh, you won't get it."
Film snobbery: "What's so great about Jim Jarmusch?" "Ugh, you won't get it."
Music snobbery: "What's so great about a 7-minute long guitar solo on a guitar with 4 necks?" "Ugh, you won't get it." (See Michael Angelo Batio)
Elvish snobbery: "What's so great about a bunch of short people trying to destroy a ring?" "Ugh, you won't get it."
The fact remains, in trying to protect geekdom, and keep it in its purest form, geeks are pitted against each other. There always has been inner turmoil amongst the ranks. For long years there's been the ongoing debacle of Windows Vs Linux Vs Apple Vs Unix. Thankfully, we've gotten rid of most of those Unix guys... the weirdos. There's been many other issues beyond operating systems too.
Coders are no exception. As part of the development cycle, there's often what is called a "Code Review." This is an intense and grueling session, where a single developer allows others to review their code and receive comments. Egos - which are supposed to be checked at the door at no charge, are kept on. A code review is - to some - like putting your brain on display, with all it's logical inner-workings and lack there of. And you are left there, allowing yourself to be picked apart.
"Why did you name your variable that?"
"Why are you using a while loop, and not a for loop?"
"Can you not break out of that loop sooner?"
"Can you change that inequality to an if not-condition?"
Recently I was struck with some criticism on the internet. I had written a useful bit of code, and released it out for people to use freely. I pointed out the potential pit falls, and where it could be improved upon. And I left my email attached to it such that, if anyone needed some help with it, they could contact me. What I received was an email pointing out my folly in using i++, instead of ++i (For the non-programmers, both are statements to increment a variable i by 1. If i=2, then i++ will make i=3. The difference between ++i and i++ is this: ++i will increment i, and then evaluate the rest of the expression, while i++ will evaluate and then increment)
After looking around the internet (never being one for the UseNet), I found that this issue is actually one that is being debated and contested quite often. Without going to deeply into it, the nitty gritty reasoning I could find, comes down to basically this: ++i will increment i and return it, while i++ will create a temp "i" in memory, increment it, and then return it. That temporary storage of information causes a slow down. But we're talking about a very minute slow down that only ever factors in if you're modelling the atmosphere - where such a tiny slow down builds up over time - and you could be saving an hour's worth of time if you use ++i instead of i++. If you're not modelling the atmosphere, the difference between ++i and i++ is negligible.
Moreover, it seems many compilers interpret ++i and i++ to be the same (but will distinguish the cases in which incrementing before or after matters). The same holds for i+=1, i=i+1, etc.
So is there a difference between ++i and i++? No. At least, not in a way that would matter for 98% of problems - and even then, it comes down to your compiler.
And why am I writing this? The pure fact of how much inner fighting there is. Before, we were unified when we had to face the jocks, and the greasers. Granted, if one of those jocks or greasers accepted us, we'd ditch the lot of geeks in a heart beat - but now that people think we've inherited the earth, we're fighting amongst each other about who really deserves it. Who is the true geek.
And for what? Can we not all get along? Must we turn on each other? Can we not just rejoice that we have finally turned the tables, and focus on keeping the table from turning once more? If someone said to John Lennon: "Why should I give Peace a chance? What's so great about Peace?" would Lennon have said "Ugh, you won't get it?"
I'm a Mac, I'm a PC... Can we not just say ... I'm a computer!