I get tired of the VB.NET hate. In this case, if some kid picks up Small Basic, and then graduates to VB.NET at 14, he/she will probably graduate to the next big thing by 18.
It's just like many of us picked up PHP in the early 2000s. Then we went to Ruby in 2007. Now we are in Go or Rust or something else.
You read a bit much into my comment. My point is just: If two languages are largely equivalent in terms of difficulty and ecosystem, why pick the more obscure one? That's not "hate".
> Any kind of coding is good coding.
Any kind of coding is better than no coding, but that doesn't mean you can't make distinctions. I simply don't see a point in making learners later lives more difficult for no obvious pedagogic benefit.
The way I'd put it is: learning C# would teach you everything learning VB.NET would, and more, in a programmer-standard way.
So given they're approximately the same level of syntactical difficulty to learn (for equivalent amounts of power), why choose the more restrictive and esoteric one?
It's not that VB.NET is a bad or useless language. It's just a very different language than the common modern multi-paradigm ones. Which isn't great for career progression.
In the professional world, what happens is that someone, who generally is less experienced than the rest of the team, shows up mixes Visual Basic into a world of C#. It turns into a smell that something isn't right here; because usually the Visual Basic parts are loaded with novice mistakes; because the rest of the team didn't review the code closely enough while it was being written.
The problem isn't the language; the problem is how a team integrates newcomers and mentors them.
I’d say VB.NET is the PHP of the Windows ecosystem. It’s not as elegant as the language Microsoft likes to push (C#), and it doesn’t seem to have many resources devoted to its evolution.
As such, it matters less whether it is a good, expressive, easy to use language than that there are so many other better options.
Now… it’s not easy to get many languages running on Windows. While on Unix you get Python for free in a base install (with some rare exceptions), Windows require some extra steps novices may have trouble with.
I think we agree, but I'm not sure I get your last point. PHP, for all its (in parts very weird) flaws, always had the advantage of how fast it is to get a website up and running. But AFAICT, VB.net isn't actually any easier to get running than C# is?
That's in there, but the entire My namespace is VB-specific. A ton of things like using settings and log providers that are basically prefab in VB, but you have to set up custom in C#.
It's just like many of us picked up PHP in the early 2000s. Then we went to Ruby in 2007. Now we are in Go or Rust or something else.
Any kind of coding is good coding.