I would like to comment on this thread because one of my projects is currently 'forcing' me to write in Visual Basic.Net, and I don't like it.
I used to be a starch advocate for VB.net and was under the impression that I would not care to learn C#.net nor ever need to because "VB.Net is now a respected language that can do anything that C# can do" The fact of the matter is that VB.net, as long as it does not force a strict syntax (option strict on), is not a real language in my opinion, and, furthermore, is ten times harder to interpret when someone is just randomly dimming variables all over the place with no object associations. I can't stand sloppy code, and I really don't want to read your code to see what the hell you were really dimming when you say
The syntax of C# is much more organized, is easier to read, and is much more accurate. Case in point, consider the following:
[CS]
int myInt = 0;
[/CS]
vs.
now in C#, I know I made an int called myInt and set the value to 0, whereas in Vb I did the same thing, but it looks like I'm saying Integer = 0, which we all know is rediculous.
To assist also in reading, I find brackets much easier to keep in track than a bunch of text that says End Try End Sub End Class and is not really that easy to skim over. The language in VB.net is way to verbose, you usually have to write twice as many words to accomplish the same thing in vb.net that you would do in c#, which in my opinion, also clutters code.
Oh, and don't forget about block coding!
case in point:
Visual Basic:
'In order to comment multiple lines
'I have to put tick's in front of each
'Then when I go to remove them later
'I have to do it line by line
'It sucks!
whereas in C#
[CS]
/*
the block comment
allows for a lot easier commenting of multiple
lines, and when I go to remove
the comment, I don't have to
do it line by line
*/
[/CS]
I learned how to program in C++, but switched to VB6 for profession because of it's RAD. Now I have the pure pleasure of being able to return to a much more complete language with all the benefits of RAD.
For sake of not running on and on, I'm going to end here. I have simply covered the aspects of syntax that I feel are so much better in C#.