There exist an MS article recommending use of all VB language features when coding VB.Net, but many (me included) thinks Framework classes is better OOP (including readability) than the runtime functions. I am also one of those that like and use the new MY features (sometimes), but that is not portable either, it's VB.Net only. Porting applications between different .Net Framework languages isn't really a big issue in my opinion, the issue is more of awareness and porting .Net developers between the languages. That means if you are aware about these matters you can with more ease transition between coding C# and VB.Net and other .Net languages, and you will probably then choose the better coding style for yourself. With the inputbox for example there isn't a C# alternative or native .Net, but as mentalhard said it's a ClickTwice operation to create a basic one yourself.