Deceptively simple

It looks easy because of the syntax, and because BASIC and Visual Basic (pre .NET) had the reputation of being simple languages. But VB.NET is every bit as subtle and complex as e.g. C#, it's just that the complexity is mostly hidden from you. It can look like an advantage, but it doesn't help you learn how the .NET platform works, and when it breaks, it's not easy to understand why.

Some bad things that VB.NET does:

  • implicit conversions everywhere (unless you enable Strict mode) that hide potential issues
  • Default Form instances: the single most aberrant feature of .NET, here just to let you think that you don't need to know anything about OOP
  • ByRef and out parameters are implicit at the call site, so it's never obvious when the argument can be changed by the callee

And I could go on...

Learning VB.NET will only give you bad habits.

8 years ago

It looks easy because of the syntax, and because BASIC and Visual Basic (pre .NET) had the reputation of being simple languages. But VB.NET it's every bit as subtle and complex as e.g. C#, it's just that the complexity is mostly hidden from you. It can look like an advantage, but it doesn't help you learn how the .NET platform works, and when it breaks, it's not easy to understand why. Some bad things that VB.NET does: - implicit conversions everywhere (unless you enable Strict mode) that hide potential issues - Default Form instances: the single most aberrant feature of .NET, here just to let you think that you don't need to know anything about OOP - ByRef and out parameters are implicit at the call site, so it's never obvious when the argument can be changed by the callee And I could go on... Learning VB.NET will only give you bad habits.

8 years ago

It looks easy because of the syntax, and because BASIC and Visual Basic (pre .NET) had the reputation of being simple languages. But it's every bit as subtle and complex as e.g. C#, it's just that the complexity is mostly hidden from you. It can look like an advantage, but it doesn't help you learn how the .NET platform works, and when it breaks, it's not easy to understand why. Some bad things that VB.NET does: - implicit conversions everywhere (unless you enable Strict mode) that hide potential issues - Default Form instances: the single most aberrant feature of .NET, here just to let you think that you don't need to know anything about OOP - ByRef and out parameters are implicit at the call site, so it's never obvious when the argument can be changed by the callee And I could go on... Learning VB.NET will only give you bad habits.

undefinedurl nextprice drop