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 dont 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 cant stand sloppy code, and I really dont want to read your code to see what the hell you were really dimming when you say
[VB]
Dim myVariable
[/VB]
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.
[VB]
Dim myInt as Integer = 0
[/VB]
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 Im 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 dont forget about block coding!
case in point:
[VB]
In order to comment multiple lines
I have to put ticks in front of each
Then when I go to remove them later
I have to do it line by line
It sucks!
[/VB]
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 dont have to
do it line by line
*/
[/CS]
I learned how to program in C++, but switched to VB6 for profession because of its 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, Im going to end here. I have simply covered the aspects of syntax that I feel are so much better in C#.