in Search
Welcome to Neopoleon - Sign in | Join | Help
Navigation: Home | Forums | Galleries

Language wars (sigh)

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.

Published Wednesday, July 14, 2004 9:05 AM by Rory

Filed Under:

Comments

 

Paul Bartlett said:

Check out http://www.deftcode.com/archives/every_language_war_ever.html as well (thanks to Eric Lippert for pointing this one out some time ago...)
July 14, 2004 9:25 AM
 

Ernst Kuschke said:

AMEN!
Flames, I'm sure, are to follow... ;)
July 14, 2004 9:42 AM
 

M Kenyon said:

No wonder you're a software Legends. It takes a strong MS Employee from the International High IQ Society to speak out on a subject like this.
July 14, 2004 12:10 PM
 

Brendan Tompkins said:

Agreed. Preaching to the Choir. Over the weekend, I did a lot of work with DotNetNuke - All in VB.NET. I took a look at the code under the covers, and saw some really good code! This experience definitely helped improve my opinion of VB... Pehaps this is part of the problem, as C#/C++ developers, we need to see more quality VB code!
July 14, 2004 1:45 PM
 

Richard Callaby said:

I agree with Rory. This is getting to be a bit NUTS on the subject of language wars. I mean "can't we all get along?" now. I posted a similar argument on my blog at:
http://blog.richard-callaby.net/PermaLink.aspx?guid=d135611d-8c50-43e1-a25e-a88a3b8d4f8f
Surely not as lucid or funny as Rory's but still my 2 cents on the subject. Perhaps we all shold just program in IL and be done with the upper level languages <G>. At least it would stop this insane argument.
July 14, 2004 2:16 PM
 

Art said:

You're right. Saying C# is better/worse than VB.Net is like saying death by papercut is better/worse than death by blender abuse.

(I felt there were too many comments without a "Lisp Uber Alles" post. Hope this helps.)
July 14, 2004 2:30 PM
 

Steve said:

Are you saying Nike made you an atheist? If "God's Shoes" didn't work then perhaps Neitshe's words rang true to you when he said "God is dead". Ok. It sounded funnier in my head before I typed it out...

As for programmers who get into language wars - these are people I'd never want to work with in the first place. I avoid these flame wars because there is nothing useful to say and nothing useful to hear. My only comment to them would be to take that pent up aggression and use it toward actually learning their craft for a change. In this business you are either growing or dying and holding onto pointless positions prevents these poor people from learning important lessons. If these things get them bent out of shape then they've got more than just bug issues.
July 14, 2004 2:54 PM
 

Mark said:

The really funny thing about all this is that the majority of functionality for .NET comes from the CLR and is then implemented by the language teams. So the argument of which language is better becomes very much a personal thing. For instance in VS 05 the whole My Space for VB.NET could be used in c# by import/using the namespace. At least that was how it was explained to me.
July 14, 2004 3:25 PM
 

Rory said:

Steve -

" If "God's Shoes" didn't work then perhaps Neitshe's words rang true to you when he said "God is dead". Ok. It sounded funnier in my head before I typed it out..."

That's so funny - I did the exact same thing (thought of the joke, and then decided that it was funnier in my head).

Weird :)
July 14, 2004 4:53 PM
 

Bruce said:

Where can I get LOGO.NET?
July 14, 2004 5:04 PM
 

anonymouse said:

Been done to death... Here:

http://www.dotnet247.com/247reference/msgs/5/28281.aspx

It's stuff like this that makes me want to do something other than code. Like post on Neopoleon.com.

Hang on...
July 14, 2004 5:09 PM
 

Russell said:

I completely agree, as long as you write something that is useful and easy for others to maintain who cares what language it is in. I write applications in both VB.NET and C#, depending on who is going to maintain the code after it is done. The both serve me equally well.
July 14, 2004 7:52 PM
 

Andy said:

On language wars - I did hear a funny Java joke today so here goes:

-Begin Joke-
"Saying Java is the best because it runs on multiple platforms is like saying anal sex is best because it works with either sex."
-End Joke-

Apparently with sex just like code, the "end user" experience is not always equal if even if it does "run anywhere". Heh, I crack myself up.
July 15, 2004 1:46 AM
 

Bill said:

Andy - that was classic
July 15, 2004 3:02 AM
 

Jeff Atwood said:

From the linked "inflammatory" page:

"Microsoft does all of its internal .Net development in C#. Even MS thinks C# is the better language."

I am a vb.net fan (not a fanatic), but THERE IS A LOT OF TRUTH TO THIS STATEMENT. I was at a presentation last year from the MS guy writing the new Sourcesafe (Hatteras or whatever). Evidently he's from NC and is currently working here. Anyway. During this presentation, he came out and *literally* said YOU SHOULD USE C# BECAUSE IT IS WHAT WE USE INTERNALLY AT MICROSOFT. Eg, it will get the most attention, therefore, it will get the best features, QED end of fucking discussion.

Sure, there were some concilatory wrapper words before and after these statements, but not many. I was frankly quite appalled, and very worried. If MS isn't eating its own dogfood-- if MS is really doing most projects in C# as this semi-high-ranking MS employee insinuated-- we are in big trouble, and VB.NET does, in my opinion, risk becoming the "red headed stepchild" of development environments.

Anyway, forget all this language stuff. The *real* problem is that the runtime sucks! ;)

Also, Cory, you forgot to post a link to my Coding Slave review. That's probably because you're a VB.NET programmer, and thus retarded. Like me.
July 15, 2004 3:53 AM
 

Jeff Atwood said:

Er.. Rory. Why? Because I care.
July 15, 2004 4:20 AM
 

John said:

Haha. Reebok got me. I wanted pumps. I'm over it now, but it was hard.. very hard.

You know, I was looking back at the very first 'substantial' code that I ever wrote recently. It was a VB app (phone book, etc.), and I noticed that I used a component (for dialing a phone number) that was written by Carl. Small world, hey. :)

John.

p.s. VB should go away and DIE. </troll>
July 15, 2004 5:16 AM
 

Sven Groot said:

I think everybody who says VB.NET sucks is right. I agree with them. VB.NET 2003 sucks bigtime ... after you've used the 2005 beta for a while.

I want my generics and operator overloading and unsigned types and xml comments and whatnot, and I want it now! In production code! Dagnabbit! ^_^
July 16, 2004 9:39 AM
 

Jeremy Brayton said:

With the CLR your Ford/Chevy analogy is more like a Dodge Dart vs a Dodge Viper. They're both made by the same company and offer a host of common features but there are differences. The differences merely point to what you want to do with it. In certain situations the Dart (VB.NET) is more appropriate than using the souped up Viper (C#) which has a governor on it.

As far as .NET goes you really are talking about the same manifacturer but different models if you want to use a car analogy. My logic may be flawed here though.
July 16, 2004 5:28 PM
 

Sven Groot said:

Aren't Ford and Chevy both General Motors anyway?
July 17, 2004 12:53 PM
 

secretGeek said:

Bob Dylan said it best:

"jewels and binoculars hang from the head of the mule"

Wow!

What it means, I do not know.

But I believe it has some relevance here.

cheers
Leon


July 19, 2004 1:26 PM
 

NJ John said:

I was a VB coder for years. Now I use both C# and VB.NET. Of course, they roughly compile to the same IL.

Give me the elegance C# any day. VB is an ugly mess of a language.
July 19, 2004 11:12 PM
 

Chance Gillespie said:

Please excuse the expletive(s)… I can’t control myself, its how I talk =)

Before I ramble on about my views on the whole C# vs VB.NET thing (which I am sure no one really cares to read but I’m going to post anyway) I wanna start out by saying I was a devoted C++ developer who is now passionately in love with C#. It’s so outa control that I usually get an uncontrollable urge to lick my monitor and dry hump my keyboard every time I open up the IDE (am I sharing too much?).

With that (disgusting) bit out of the way I have to say that I fucking HATE VB.NET. Hate it! Hate it! Hate it! Hate it! I get a headache akin to some of the worst Rumple Minz hangovers I have ever had (and I’ve had a lot of them, usually preceded by my waking up and realizing I have no pants on (for no good reason I might add)) after 10 minutes of reading through some VB.NET source. BUT, that hatred is based purely on aesthetics. I see code in a very visual way. Moving from one source file to another feels liking walking into a different room for me. The wordy nature of VB makes it difficult for me to “feel” the code… to be able to squint while looking at the code and still feel the flow (I know you would never do this, but I’m sure you get what I’m trying to say).

I’ll argue till I’m blue in the face (and angry enough to throw my shot of Rumple Minz at the head of the idiot I’m arguing with) if anyone tries to take a stance that C# is a superior language on any technical level. It’s ludicrous. As Carl pointed out in his blog Generics, operator overloading, XML comments are all a part of VB 2005. As for unsafe code I would argue that C++ is a better choice for this scenario than either C# OR VB (depending on the purpose and use of the code of course). Viewed at a higher level the differences between these two languages are almost superficial.

In the days of C++ vs VB 6 it’s pretty obvious where I would stand. But this isn’t C++ and VB 6, this is C# and VB.NET. It’s a completely different game. To me arguing for either on technical grounds shows a lack of understanding of where the actual power is… the platform.

.NET man, .NET!
July 22, 2004 11:06 AM
 

Mario Goebbels said:

I prefer C derived languages over BASIC derived languages because of readability. Tell me what you want, but when reading VB.Net source code I feel like reading a freakin' novel.
August 1, 2004 3:24 PM
 

kkm said:

Rory and all -

I prefer to see this whole picture from a different vantage point (Oops. This was a clichee!)

To me, it is clear like another clichee that the company that makes a program to convert VB.NET code into C# and sells it two bens a pop tries to preach everyone to convert to C#ism not quite because they are die hard devotees of it. I think they are rather zealots of another confession, precisely, the mentioned above two bens.

This is the infamous supply-side economy at work, just like those crappy cameras with embedded cellular phones that so unfortunately have become the only way to purchase a cellphone - nobody sells the cells separately from these mongrel contraptions (to their vindication, I shall mention that recently they began to introduce "enterprise editions" of cell phones without cameras, at approximately three times the price of unspayed models). An idiot in marketing research concocted demand for VB sharpener, and after the tool was made, another idiot in sales had to create a myth, or rather a Myth, to sell this piece of - pardon my French - software obviously useless from the very conception, maybe even to the first idiot from marketing (to his vindication, I shall point that the poor guy excreted the best idea that he could produce).

As for the holy wars of languages - I am firmly convinced that our strange couple does not give a flying saucer. (*Whispers*) Do not tell anybody, but they were the same two guys who invented that bogocamphone and then telepathized color ads on every white flat surface in the country...

Altogether, this is yet another hiccup of the Need MRI Scan? starkly separated from the substance of syntactical scholasticism, and rather based on a matter much more mundane - money. The Two Bens.

(Oops. This was alliteration!)
August 3, 2004 4:34 AM
 

Randy Jackson said:

Didn't someone just point out that C# was basically a great marketing ploy to lure JAVA developers from the world of LURC and compile to JIT and compile?
August 23, 2004 10:06 PM
 

TrackBack said:

Language Wars and Developer's Dirty Laundry
July 14, 2004 10:49 AM
 

TrackBack said:

Curly Braces for me and you.
July 14, 2004 5:40 PM
 

TrackBack said:

Curly Braces for me and you.
July 14, 2004 5:42 PM
 

TrackBack said:

C# Misinformation about VB, yet again.
July 15, 2004 8:11 PM
 

TrackBack said:

My way is better... no MY way is better
July 22, 2004 6:46 AM
New Comments to this post are disabled

About Rory

I *own* this site, you loser.