VS.NET2005ではC#とVB2005は、もう違うものになったと思う
前のVS.NET2003までは、C#もVB.NETも多少文法は違うものの、中身は同じものだった。人が同じで、かぶっている仮面が違う程度。結局のところコンパイルされて同じ中間言語になるのだから、これは当然と言えば当然。
しかし新しいVS.NETだと違う。仮面も違うが、中身の人も違う、というイメージ。兄弟ではあるみたいではあるが。なんというか、言語を書くときに考えるイメージが違う感じ。
前までは、1行づつ翻訳していけば同じものができていたのだが、VS2005のコンパイラがやってくれていることが何か、を知ってその部分を補ってやらないと、C#とVB2005の翻訳はできない感じ。例えていうと、今までは隣の県での方言の違いくらいだったのが、青森と沖縄くらいの違いに変わった感じ*1。
ということは、これからは言語特性に見合った、よりVB的、よりC#的書き方が求められるのではなかろうか。