When I was so young that I had only ridden this planet around the sun about five times, I believed in two things:
1) God
2) The Nike Swoosh
Many of you know what became of my interest in God, but I have yet to say anything on this blog about my faith in the Swoosh.
And, when I say "faith in the Swoosh," I mean it. When you're five years old, your perspective is a bit different. Minutes seem like hours, feet seem like miles, and every little molehill is a mountain. You have yet to learn about all the fabulous other things in life like sarcasm and lies. When you're young, there's The Truth, and it's powerful.
At the time, I believed that the Nike Swoosh had Powers. I thought that by donning a pair of Nike running shoes, ordinary people were turned into Olympic sprinters and marathon runners. I did not, however, have any direct experience on which to base this belief - it was all from advertising. We were rather poor at the time, and I don't even remember what kind of shoes I had. I might not even have had shoes at all. There's probably a photo somewhere of me wearing a couple of paper bags around my feet, tied shut around the ankles with thin straps of burlap torn from old potato sacks, and my chest and legs wrapped in the hides of stray neighborhood cats that I had managed to catch, the succulent juicy bits of which we downed for dinner. Times were tough.
For a time, I had to just content myself with the thought of The Swoosh, and accept that The Swoosh may or may not ever become a part of my life.
Fortunately, or unfortunately depending on how you look at it, something changed. I don't know where it came from, but one day mum had the dough for a pair of Nikes. I put on my paper bags, secured them around my ankles with the burlap, and picked out a nice tabby to wear on the way to the mall where I was finally going to slip my feet into a brand new pair of God's Shoes.
I still remember the things. They were white with blue Swooshes.
I wore them proudly, and upon returning home, did a little jog around the apartment parking lot. I didn't seem to be going any faster, but my blind faith in The Swoosh prevented me from accepting the facts that were presenting themselves, quite literally, at my feet.
The experiments continued throughout the week. Whenever I had the chance, I'd take a wee little sprint and see if The Swoosh had "kicked in" yet. Noticing that my running performance still hadn't improved, I began to blame myself, thinking that I just didn't know how to operate the shoes, or that each pair had been made with a particular operator in mind - a sort of cosmic destiny - and that my mother and I had somehow derailed fate on that day at the mall, snatching up a pair of shoes meant for some greater glory.
However, after a month or so, I finally managed to come around. I realized that I wasn't operating the shoes in an incorrect fashion, or that I had wrongly acquired them, or anything of the sort. Quite simply, I had been duped. Nike, the company I believed at the time to have been making shoes for all the angels in Heaven, had lied to me. It had created advertisements which made it appear as though its shoes could somehow improve your performance and make you a superstar track runner.
When you wrong a child, that child doesn't forget. When my family finally had enough money for me to get new clothes each school year, I had switched to Reeboks, and to a new attitude which I knew would prevent me from ever being fooled again by a Swoosh, or a soda company, or a cigarette brand, or a brand of jeans, or a bubble gum flavor, or a car company, or...
...a semi-colon.
Carl Franklin recently got a bit upset when someone sent him a link to a page which aims to give C# developers ammunition for what seems to be a small war being waged against people who "End If" rather than "}". Although the page itself isn't really all that offensive, it was obviously enough to spark another language war, and the comments on Carl's blog have ranged from tame and civil to heated.
I don't understand this.
Since I first cranked out a few lines of code over twenty years ago, I have seen no end to the pompous and self-righteous "My technology is better than your technology" arguments. While I consider some of the arguments to be so stupid that they're hardly worthy of attention (I honestly don't care which MP3 player you prefer), some, like the language battles, have a real impact - supposedly, "using System;" makes you more money than "Imports System". That's nuts.
Not only is it nuts, but it's...
well...
NUTS.
Semi-colons won't make you a better developer any more than The Swoosh will make you a faster runner. When you get right down to it, it's an aesthetic choice that's influenced by some crappy and misleading group-think.
It's especially stupid when we're talking about C# and VB.NET. I mean, I can see some merit to a VB.NET vs. assembly argument - not which is better in a general fashion, but which is better suited to a certain need. Where only .NET is concerned, though, we're just talking about whether you like to drive through the framework in a Ford or a Chevy. It doesn't matter! They're the same damn thing! They might offer slightly different options and features, but they both do an equally good job of pulling out onto the highway, merging, passing, and so on - all the common activities they're expected to do.
It makes me want to whimper. And scream. And pound things. And then cry.
Why is it so hard for people to see that there are two things that should drive them to a tool?
1) Can it do the job well?
2) Can it do the job in a way which pleases you?
If you can answer "yes" to these two questions, then you have the right bloody language, and don't let anybody tell you otherwise.
And keep in mind that it is a fact that you will often find more than one tool which will allow you to answer "yes" to both of these questions given a problem. I've been asked to do work which I could have done equally well in ASP.NET, ASP, JSP, or servlets. Given the choice, I'd take ASP.NET since it's my preferred web development platform, but the other choices would have worked as well. In such cases, there's more than one "right" tool for the job.
Seriously. I don't care if it's LOGO.NET - If it works, and if you like it, then it's good.
It's so simple.
Anyway, I'm tired.