Why VB.Net is bad

If a language is going to be loosely typed, then that’s fine as long as you know how to use it. If it’s going to be strongly typed that’s even better. So in JavaScript:

var i=1;
var j="1";
if(i==j)alert("Loose typing ahoy!");

Everything’s fine and you get an alert. And if you go:

var thingArray = new Array();
thingArray[i]="Loose typing still ahoy!"
alert(thingArray[j]);

You get the same thing.

Try something similar in C#, and you’ll get a compile error:

int i = 1;
string j="1";
if(i==j)Response.Write("Oooooh badness");

So it will never work.

In VB.Net, though, we’re in a funny middle-ground where things are sometimes the same, and sometimes different:

Dim i as Intger = 1
Dim j as String = "1"
If i = j Then
Response.Write("They're the same here.")
End If

So far, so ropey, and not that dissimilar to JavaScript. But then:

Dim thingArray as new ArrayList
thingArray.Add(i)
If thingArray.Contains(j) Then
Response.Write("They're still the same...")
End If

will never write anything out. Because despite the fact that 1 = “1”, an ArrayList that contains 1 doesn’t also contain “1” because they’re different…

It’s a cop-out of a language, I say.

Advertisements
This entry was posted in Programming. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s