5 ms·
So the big change there is to VB, right -- instead of being a language co-equal to C#, they're refocusing it to be beginner-focused, and are explicitly saying i
by mkozlows 10y ago
So the big change there is to VB, right -- instead of being a language co-equal to C#, they're refocusing it to be beginner-focused, and are explicitly saying it won't have the same capabilities as C#.
I think that makes a lot of sense -- it was always weird to have two near-identical languages to choose from -- but at the same time, I wonder if VB.NET isn't already too complex to be an accessible language for beginner-programmers in the way that PHP or VB6 were.
- hacker_9 10y agoI learned on VB.Net maybe ~15 years ago now, and back then all the english like 'end sub' and 'end if' really really helped me understand the code. Honestly languages that used brackets looked like voodoo to me at the time. Of course later when I understood that brackets were faster to write and conveyed the structure just the same, I converted and became a sneering hipster.
- euyyn 10y agoYou've just killed me saying that was 15 years ago :(
- cm2187 10y agoI don't think anyone has ever typed End If in visual studio. The VB IDE always had very proactive statement completion, that the C# IDE only recently matched. All you end up typing is "for i=1 to 10", press enter, not worrying about the casing and the IDE does the rest. To me the quality of the IDE makes 50% of the quality of a language and the VB.net IDE was superb.
- Jaruzel 10y agotsk! :) >> For I as Int32 = 1 to 10 I may be a VB.NET stalwart, but I have evolved to ensure my code is clean and properly declared, and I wish that all my VB.NET colleagues had done the same, then maybe it still wouldn't be seen as C# ugly step-sibling. Why don't I switch to C# ? 1) I don't code professionally these days, only as a hobby. 2) I can't see the point of having to put semi-colons at the end of lines, when you immediately follow them with CRLF anyway. 3) Curly brackets are too easy to miss in the middle of code for these old eyes. Right now, there's almost no app that's written in C# that can't also be written in VB.NET.
- cm2187 10y agoI agree with your points except for For i as Int32 = 1 to 10 There is nothing loose or unambiguous about type inference Dim i = 10 is absolutely unambiguous, strongly typed and elegant. The For i = 1 to 10 is just doing the same in a loop.
- Jaruzel 10y agoI think I had gotten stung previously with VB6s loose typing (everything as a generic object unless declared otherwise), so when I switched to VB.NET I made a point of declaring everything (and still do).
- cm2187 10y agoyeah it took me a while to get rid of bad VB6 habits too. Hungarian notation, specifying byval in front of every arguments in a function, not relying on type inference, etc.
- kirse 10y agolanguages that used brackets looked like voodoo to me at the time Hah, exact same here. I started with VB5/6 and it was so much easier to build a graphical Windows app than using scary C++ MFC. In VB6 you could just drag your "Winsock1" over to your "Form1" and start writing networking code quite easily. Honestly though, to add some sneering hipsterism, Visual Studio is light-years better these days if you're just trying to crank out a basic app. So it does confuse me why anyone would choose VB.NET now over C#.
- jameshart 10y agoYeah - feels too late to turn that ship around. If you instead focused on making a VB6-like language that just had enough features to interact cleanly with most .NET APIs... you'd end up in a very different place today than where VB.NET has been taken by its attempt to have every C# feature implemented with just a different, more wordy syntax. Especially as you could lean on a lot of the DLR functionality to provide VB-like 'variant' types.
- hajile 10y agoThey need to replace VB with JS. JS is by far a better dev experience and there are more learning resources for new programmers (not to mention that there are way more JS devs than VB devs). It would also give them an excuse to push their JS engine more (I'm no fan of MS, but their new JS engine is a great piece of tech).