I am a VB.NET person, although I do believe that most ASP.NET developers
should learn to read, if not write, in both, because you may be forced to
use one language or the other depending on where you work. As for when you
have the choice, I would recommend, like most of the other people that
responded to this thread, that you use whichever one you are most
comfortable with. As far as the unmanaged code thing, it is true that you
will rarely, if ever, need it. However, I would expect that the rare
situations that you do would be when writing custom classes that would be
used for many different applications. Because of this, I would simply make
an entirely separate project so that you can still use your preferred
language for the application, and simply include the .dll from the custom
class which you write using whatever language it requires.