Biculturalism, VB and C#

One more thing that might not really last the month until I get back, so I’ll get it out now… One of the recurring questions/debates that goes around the web is “why have two languages (i.e. VB and C#) when one would do?” This is a question that begs an involved discussion but I think Joel Spolsky’s discussion of the separate cultures of Unix and Windows provides an excellent starting place. Replace “Unix” with “C/C++/C#/Java” and “Windows” with “VB” and I think he starts to capture the essence of the reasons why VB exists.

Maybe in February I can elaborate on my thoughts on this, although I’m not sure I can explain it better than Joel does. I thought this particularly captures my feelings in response to people who say that “C# and VB are the same language with slightly different syntax”:

What’s left is cultural differences. Yes, we all eat food, but over there, they eat raw fish with rice using wood sticks, while over here, we eat slabs of ground cow on bread with our hands. A cultural difference doesn’t mean that American stomachs can’t digest sushi or that Japanese stomachs can’t digest Big Macs, and it doesn’t mean that there aren’t lots of Americans who eat sushi or Japanese who eat burgers, but it does mean that Americans getting off the plane for the first time in Tokyo are confronted with an overwhelming feeling that this place is strange, dammit, and no amount of philosophizing about how underneath we’re all the same, we all love and work and sing and die will overcome the fact that Americans and Japanese can never really get comfortable with each others’ toilet arrangements.

Couldn’t have said it better myself…

Leave a Reply