News for hackers. Stuff that matters.
Re:The .NET Language Strategy by wvenable on Wednesday February 01, 2017 @08:01PM (#13547112)
> How is it far more complex than C#?

Basically you answered your own question. VB.NET has all the same features as C#, evolved over the same time, but VB.NET has a bunch of additional "crap" held over from a language and environment that it isn't compatible with anymore. That's how it's more complex.

You didn't even consider in your example that you declare variables with the keyword "Dim". Do you even know why? It's meaning has almost been lost to history and makes little sense for what it's used for now.

Re:The .NET Language Strategy by cm2187 on Thursday February 02, 2017 @01:55AM (#13548669)
How is "Dim" worse than "var"???

In fact even before type inference I always thought that Dim was a better idea. It was kind of absurd to be forced to write your type twice.

  Dim D as New Dictionary(Of String, String)
vs

  Dictionary<string, string> D = new Dictionary<string, string>();
Re:The .NET Language Strategy by wvenable on Thursday February 02, 2017 @02:32AM (#13548803)
> How is "Dim" worse than "var"???

Var means variable.

In VB6/VBA, the Dim New syntax actually had different semantics; it would create the instance on first access instead of when the Dim statement was executed. It also had the fun side-effect that setting the variable to Nothing would destroy the instance but anytime you accessed that variable it would just create a new one. Irrelevant now, I guess, but still a nice bit of trivia.

Re:The .NET Language Strategy by WayneBro on Thursday February 02, 2017 @10:33AM (#13551171)
You don't write your type twice in C# either. So, the second example would be:

    var d = new Dictionary<string, string>();
`Dim` is worse than `var` because nobody uses the word "Dimension" when they're talking about variables.
Re:The .NET Language Strategy by cm2187 on Thursday February 02, 2017 @11:32AM (#13551789)
As I said, var was introduced with type inference. Before type inference you had to declare it twice, which you never had to do in VB, even in VB6.
Re:The .NET Language Strategy by WayneBro on Thursday February 02, 2017 @01:38PM (#13553150)
Right, but it was introduced to C# over 8 years ago so it's a bit of a moot point, wouldn't you say?

`Dim`, a poorly worded keyword by today's standards, is a perfect example of the kind of leftover crap that C# doesn't have today that VB still does have.

Re:The .NET Language Strategy by smoothdeveloper on Thursday February 02, 2017 @02:15PM (#13553547)
Try defining an instance member with var in C#