Originally posted by: Descartes
You can use VB functions in C# so I don't think it will ever die because of .NET use.
<atot:response mode="pedantic">
In .NET, there are no "<insert language here> functions". Each CLS conforming language emits compliant IL that, depending on the facilities provided, are accessible by any other language. Post-compilation, the source language is generally indiscernable unless an entirely heuristic approach is taken to remove the obvious (e.g. if you see any op_ routines in the IL, it can't be VB.NET as VB.NET doesn't support operator overloading). You can, however, create functions that are accessible by one language and not the other. For example: C# supports operator overloading; if you were to overload the + operator, the compiler will emit IL to include a function called op_Addition. VB.NET doesn't support operator overloading, but it can call the op_Addition function directly. Inversely, VB.NET cannot create the op_Addition function and have C# acknowledge it as an operator overload due to the unfortunate presence of a "specialname" flag that's emitted by the compiler when overloading an operator.
</atot:response>