I’m primarily a web developer and currently spend most of my time with PHP and JavaScript. My roots go back to Unix C programming and a whole host of other languages including Perl. Making the move to Win32 development hasn’t been an easy one and it’s not a place that I want to stay for very long. I’m writing a relatively simple application for some of my users in the sales department and I’ll be damned if I don’t have to go look up the syntax for every little thing. It’s beginning to get very irritating.

Take for example, a string comparison. One thing you may not realize is that VB and other compiled languages often times require strict declarations for variables. If I want a variable named iCount, I’d have to do this:

dim iCount as integer

PHP will let me just start using $iCount whenever I want and will let it’s datatype change as I see fit. While I can see this has some limitations with being able to trace values and maybe even do error checking, it makes it very easy to whip out some code. So here is that string compare in PHP:

if($myString == "this string") {
echo "Yes, we are a match";
} else {
echo "No, we aren't a match";

The same code in VB?

dim myString as string
if(string.compare(myString, "this string") == 0)
msgbox("We are matched")
msgbox("We are not matched")
end if

Hopefully there are no typos in that VB as I’m not so good with it that I can type it freehand like I can PHP. Before you jump all over my case with the differences between a web scripting language like PHP and a compiled desktop app (yes I know there are vb scripts, but let’s pretend there aren’t) language like VB.NET keep in mind that regardless of what a language allows you to do, it should be get out of your way and let you work. I don’t feel like VB.NET really promotes a good programming experience. It sure as hell won’t let you screw something up or mis-convert some data, but you won’t have fun writing it.