Zbog specifičnosti VB.Net-a oko prenosa parametara i tipova struktura koje poznaje (ovo je problem VB.NET-a kao jezika, ne samog .Net frameworka) kada pišete C# asembli koji će biti korišćen od strane VB.NET-a, o tome se mora voditi računa.
Što se izbora jezika tiče, to je manje-više stvar ukusa - sve što uradite u jednom, može i u drugom (sem minornih stvari, kao što je nedostatak podrške za "unsafe" kod u VB.NET-u)
C# je napravljen specijalno kao "glavni" jezik za .Net framework i kao odlična platforma za prelazak C++ i Java programera; on je i "pravi" Object Oriented jezik, tj. pisan je kao takav, dok je OO kod VB-a nastao "nasilnim" načinom.
VB.NET je kao i svi VB-ovi basic u koji je silom ugurano sve što treba za .Net programiranje; po mojoj ličnoj oceni, a i oceni VB programera firme u kojoj radim, C# je bolji za migraciju na .Net nego učiti rogobatne sintaksne konstrukcije u VB.NET-u. Glavna prednost, a to je laka migracija sa postojećih VB 6.0 aplikacija na VB.NET prosto ne postoji (ovo je probano na više od 20 veoma velikih aplikacija).
So, ako ste srećni sa VB-om, ne želite ništa više / drugačije, koristite VB.NET.
Ako hoćete moderan OO jezik koji je pisan zajedno sa .Net frameworkom, preporučujem C# (moj lični favorit).
Opet, ovo nije da bi se počeo flame war - sve ovo je moje lično mišljenje i ništa više.
[Shadowed: obrisan nepotreban citat.]
[Ovu poruku je menjao Shadowed dana 19.06.2006. u 04:19 GMT+1]