News for hackers. Stuff that matters.
Re:The .NET Language Strategy by Analemma_ on Wednesday February 01, 2017 @04:24PM (#13545367)
I also want to commend Microsoft for continuing to support VB and not succumbing to the whims of sneering hipster programmers who consider it beneath contempt (see the second comment on that article for a good example, with a classy response from MS). VB is a thing that a lot of people rely on, and some even like, and doesn't deserve to be kicked to the curb.
Re:The .NET Language Strategy by mpeg on Wednesday February 01, 2017 @05:06PM (#13545821)
I wrote my first non-toy lines of code in VB6, with a (pirate) copy of the IDE that I had to ask for as a request to a dude that sold cds in a public park.

At that time, I only had a C/C++ compiler that I didn't know how to use (because I had no internet and no standard library / STL docs). The MSDN library that was preloaded in the cd was an eye opener, and the visual components made it easy to experiment.

I would probably work in a restaurant today, if it wasn't for that cd.

Re:The .NET Language Strategy by discreteevent on Wednesday February 01, 2017 @06:15PM (#13546424)
I worked in a start-up straight out of college where I had done C/C++. We decided to try out this Visual Basic to see if we could get things done more quickly. VB 3.0. I was blown away by how quickly you could do things even though the language made it hard to organise any kind of structure when things got bigger. We did a lot of work in it and I assumed something like it was the future of programming.

Then the start up went bust and I was back to C++ before any newer version of VB came out. They really got reusable components right. I've never had an experience since where there is such a huge jump in productivity with a new technology.

Re:The .NET Language Strategy by fiddlerwoaroof on Wednesday February 01, 2017 @11:49PM (#13548194)
I started with similar tools: Borland Delphi and the Object Pascal language.
Re:The .NET Language Strategy by fiddlerwoaroof on Wednesday February 01, 2017 @11:53PM (#13548216)
I'm not really sure of the timeline, but I think Delphi pioneered the "reusable components" paradigm and VB was Microsoft's entry into the market.
Re:The .NET Language Strategy by ryanhuff on Thursday February 02, 2017 @12:27AM (#13548345)
Delphi came after VB3. VB3 had "custom controls" called VBX (Visual Basic Extensions), which were the reusable components. It was the precursor to OCX and ActiveX controls.
Re:The .NET Language Strategy by probablybroken on Thursday February 02, 2017 @08:44AM (#13550412)
Yes - I migrated from VB -> Delphi - one of the big advantages at the time was you could compile a small executable that didn't require you to distribute several additional disks of vb runtime DLLs with your software.
Re:The .NET Language Strategy by lmg643 on Wednesday February 01, 2017 @10:43PM (#13547924)
I taught myself to code late in life on VB.net - amazing how easy and powerful to get going. I've done a decent amount in C# since then. When I think about C# syntax vs VB.net syntax, and consider it's all .NET under the hood, makes me wonder whether developers like feeling as though they are writing something more complex in C# than they are. Anyway, i'm indebted to Microsoft and will be a fan for life as a result.
Re:The .NET Language Strategy by pionar on Thursday February 02, 2017 @06:41AM (#13549812)
Fresh out of college (2004), I worked at a company that was a VB.NET shop and one of the tasks I started with was porting a bunch of ASP (not .Net) pages to ASP.NET using VB.NET.

I absolutely loved the language, coming from a Java/C++ education in college.

Then, my next job, it was a mix of VB.NET, PHP, and C# (custom software shop). I did all three and decided that C# was where I wanted to be. I simply found that VB.NET was too "wordy" with all of the "If/End If" and "Get/End Get" and "List(of Foo)". I just found it easier to follow with if(eq){}, Get{}, and List<Foo>.

Simply one's own taste, I suppose.

Re:The .NET Language Strategy by blitzd on Wednesday February 01, 2017 @11:19PM (#13548076)
I personally just found the C# syntax more straightforward than VB.NET, C# was new and VB seemed to have a bit of baggage. I never had much in the way of problems, even as a beginner, translating from VB.NET to C# examples though.
Re:The .NET Language Strategy by kittenmittens on Wednesday February 01, 2017 @05:13PM (#13545900)
I have to still maintain some things running on VB6 code. It has it's whims, but there are worse things to work with as well.
Re:The .NET Language Strategy by bkmartin on Thursday February 02, 2017 @06:29AM (#13549754)
I also have a small pile of vb6 code that I must support. And while it usually behaves OK there are some instances where putting it on a Windows 7 machine to run will cause some headaches.

I got my first serious code written in VB6. It is the first IDE that I bought with my own hard earned money as a kid and it was great. I still dream of a day when there is a language/framework that makes development that easy again.

Re:The .NET Language Strategy by WorldMaker on Thursday February 02, 2017 @11:18AM (#13551649)
I think Small Basic is interesting for that. [1]

I also find it interesting now how much of the professional IDE features that Visual Studio Community Edition opens up for free to students and non-profits and open source enthusiasts.

It's easy to look back with nostalgia at our own paths (mine was QBASIC, [saved up for] VB3, with dalliances into things like DJGPP, then a lot of HTML, PHP, and very early era JS), but let's not overlook that we live in an interesting era with interesting new paths (Small Basic, Squeak, Python, modern JS, etc).

[1] http://smallbasic.com/

Re:The .NET Language Strategy by dotancohen on Thursday February 02, 2017 @06:39AM (#13549805)
You might want to look at PyCharm (Has free community edition, $99 year for pro) and Python. My eight year old writes Python!
Re:The .NET Language Strategy by bkmartin on Thursday February 02, 2017 @02:56PM (#13553975)
I loved Python when I learned it back in college. That was around Python 2.3/2.4. I said back then (while doing mostly C++) that Python should be the base language for CS101 at the University level. It was much easier to work with as opposed to the nuances of C++ compilers at the time.

My biggest dream is the ability to have a cross platform Mobile App/Web App ecosystem. Something that you can use from any device with a virtually equal experience. Not so easy at the moment, especially for things that need to be charged for... app store fees are way to big in my opinion. /rant

Re:The .NET Language Strategy by badthingfactory on Thursday February 02, 2017 @08:25AM (#13550307)
It's such a shame you had to pirate that CD. I feel happy for young/aspiring programmers today. Open source has made programming so much more accessible.
Re:The .NET Language Strategy by yareally on Wednesday February 01, 2017 @07:45PM (#13547013)
Similar story for me as well. First major application I did was with VBA built into Office. Was bored in study hall in high school and would spend my time building solitaire from scratch in it since the actual game had been blocked on the school computers.

That led me into considering Computer Science over Civil Engineering in college and have been programming ever since :)

Re:The .NET Language Strategy by markatkinson on Thursday February 02, 2017 @02:13AM (#13548734)
Same here. I was a "data researcher" (read: data capturer), at a fortune 500 company. They had an office in Cape Town, South Africa. Taught myself VBA, and then VB.Net to automate some of my work. It is a few years later and I have landed myself a job as a full time C# dev.
Re:The .NET Language Strategy by softawre on Wednesday February 01, 2017 @07:21PM (#13546842)
Hey man, me too! Almost same story, pirate CD. Though it was VB3 for me. Used to make AOL chat bots and mass mailers.

What did you build back then?

Re:The .NET Language Strategy by ocdtrekkie on Wednesday February 01, 2017 @11:05PM (#13548025)
Isn't it great to note that we're now in an atmosphere where you can just... download Visual Studio... no piracy required?
Re:The .NET Language Strategy by Ntrails on Thursday February 02, 2017 @05:36AM (#13549530)
I spent months getting my MSDN license personally assigned so I could get a copy at home for playing around in. So bitter...

(it's awesome)

Re:The .NET Language Strategy by j-b on Thursday February 02, 2017 @09:31AM (#13550709)
I collected those for a while. What was your handle or group affiliation?
Re:The .NET Language Strategy by fjert on Wednesday February 01, 2017 @06:33PM (#13546543)
I had a boss who started one of his companies in his attic and while he wasn't a 'real' software developer, he was still able to bring his initial ideas to fruition to get a working product because of how approachable VB is, especially for those without much experience programming. It definitely has its purpose and I am glad Microsoft understands that. The hate over VB and BASIC languages in general seems like a matter of elitism among software developers to me and oddly enough, I see this attitude from inexperienced developers more often than experienced ones.
Re:The .NET Language Strategy by pizza234 on Thursday February 02, 2017 @04:36AM (#13549287)
The hate on VB(6) is specific, and it's caused by the language making the "programmer" slip into bad practices, like mixing the application and presentation layers, or the infamous "On Error Resume Next".

Design-wise, this is well justified hate - I stress "design-wise".

In the bigger picture, the ease of the framework attracted plenty of unqualified masses, therefore there is surely lots of people with a painful past of VB6 applications maintenance.

Of course I don't want to detract from VB6, as at the same time, it made very simple (or as simple as possible) for almost anybody to create applications - I'm not aware of any other language/framework which accomplished this.

Re:The .NET Language Strategy by kodfodrasz on Thursday February 02, 2017 @02:07AM (#13548704)
I have written small kid's experimentations in QBasic, and it was fun at the age of 13, but then when I had to use VBA at the age of 28 after considerable amount of experience in C# (among others), it was painful. Is this because of elitism? No, it is because VBA has some terrible properties, which are not true for VB.Net. VB.Net is mostly OK, I just don't use it.

I'm also glad they keep that product alive, because in addition to the many positive aspects meantioned in the comments it makes sure that the CLR evolution takes into consideration the aspects needed for a more broad variety of languages.

Re:The .NET Language Strategy by softawre on Wednesday February 01, 2017 @07:22PM (#13546853)
It's not that odd to me that inexperienced developers just don't "get it" yet about stuff like this. Maybe because I used to be (more) inexperienced and have opinions like this.
Re:The .NET Language Strategy by MadsTorgersen on Wednesday February 01, 2017 @05:38PM (#13546112)
BTW, as trolls go, the one who commented on the blog turned out to be comparatively sweet: After my response they came back to say they were really sorry, and asked that I delete their comment. Which I did, so you won't see it anymore.

#TrollsArePeopleToo :-)

Re:The .NET Language Strategy by Analemma_ on Wednesday February 01, 2017 @05:47PM (#13546185)
Whoa, hi Mads! I hope we see you more around here, there's usually an HN post corresponding to big C#/.NET announcements and it would be great to have your input.
Re:The .NET Language Strategy by MadsTorgersen on Wednesday February 01, 2017 @06:03PM (#13546321)
Hey, thanks! If they let me out of my cave again, I'll make a point of visiting more often!
Re:The .NET Language Strategy by flukus on Wednesday February 01, 2017 @06:39PM (#13546573)
It's not VB as a language, it's VB as an ecosystem, including the developers. It's the same with php and javascript. When you have a class of developers happy to just slap things together and unable to learn other languages frameworks you end up with a lot of awful code. If I were to take a VB.net job it's not the language I'm worried about, it's the mess of spaghetti code I know I'll have to deal with.
Re:The .NET Language Strategy by ocdtrekkie on Wednesday February 01, 2017 @11:08PM (#13548035)
The thing is... VB, PHP, and JS have all enabled an incredible amount of creations that never would've happened without them. It's honestly hard to imagine where we'd be without these ecosystems, and the casual slapping things together that these enable.
Re:The .NET Language Strategy by flukus on Wednesday February 01, 2017 @11:21PM (#13548081)
True, but I've also seen millions of dollars flushed down the toilet on failed projects. The culture around these languages have been the primary reason for many of these failures. I've seen millions more wasted on workarounds and attempts to fix the spaghetti code they contain.

So while the world has some cool stuff that it might not otherwise I'm not sure the world is better off for it.

Re:The .NET Language Strategy by jackmott on Wednesday February 01, 2017 @05:40PM (#13546130)
I think they should quit with VB support not because there is anything wrong with it, but because it is, now, identical to C#. It is just C# with words replaced. This is nonsense.

I would donate many beers if they halted all VB work and put those guys and gals on F#!

Re:The .NET Language Strategy by AnthonyDGreen on Wednesday February 01, 2017 @06:02PM (#13546300)
It never was and never will be identical to C#. They share a lot but there are hundreds if not thousands of subtle differences between the two. It's just easier for people to 'think' that VB is just C# with a search and replace because... that's a lot shorter to say. If you were to look at the compilers themselves or try to write a perfect automatic conversion tool you'll quickly see that far from identical.

For example, VB Select Case and C# switch work nothing like each other.

Re:The .NET Language Strategy by jug on Wednesday February 01, 2017 @06:52PM (#13546666)
Yes, they have a pretty dissimilar philosophy. XML Literals, different event handling/wiring, no need for event delegates, inline date declarations, explicit integer division operator, the Module concept, the My namespace, etc.
Re:The .NET Language Strategy by josteink on Thursday February 02, 2017 @03:19AM (#13548982)
> If you were to look at the compilers themselves or try to write a perfect automatic conversion tool you'll quickly see that far from identical.

There's so much truth in this.

Telerik has a online conversion tool[1] you can us, which can batch convert entire code-bases. But a 1-to-1 straight conversion cannot be done with 100% accuracy, and the tool will tell you everywhere it struggles to figure out the right C# equivalent for the corresponding VB.Net code.

I've used this tool in the past to "eliminate" the last remnants of VB-code in our organization. And when you do a job like that, on that scale, you definitely notice the differences.

A quick list of things you can expect to cause troubles (from memory and may not be 100% accurate):

- The difference in VB global/C# static semantics.

- The (default & overuse) of late-binding in a typical VB codebase. (While that wasn't an option for me back then, this can now be overcome by using "dynamic" everywhere, but that's hardly idiomatic C#)

- VB Modules can cause issues.

- For a full conversion, you'll typically have to rewrite all code using the functions and operands only found in the Microsoft.VisualBasic namespace. Not all these have straight up C#/BCL replacements.

Etc etc.

For being superficially so similar, a conversion job is actually much more work than you would typically imagine.

[1] http://converter.telerik.com/

Re:The .NET Language Strategy by averagewall on Thursday February 02, 2017 @07:01AM (#13549906)
Isn't Microsfot.VisualBasic just as much part of C# as it is VB or any other .Net language?

The rest of your points all sound like bad practice anyway so hopefully people are already avoiding them.

Re:The .NET Language Strategy by josteink on Thursday February 02, 2017 @01:15PM (#13552917)
> The rest of your points all sound like bad practice anyway so hopefully people are already avoiding them.

Welcome to the real world. I can tell you're new here :)

Re:The .NET Language Strategy by cm2187 on Wednesday February 01, 2017 @06:11PM (#13546378)
And until VS2013 the IDE was nothing like either. I think with VS2015 both have mostly converged but I must say it is a bit of a regression for the VB IDE.
Re:The .NET Language Strategy by MichaelGG on Wednesday February 01, 2017 @06:33PM (#13546541)
Hundreds or thousands of differences? Do you have a citation for that?
Re:The .NET Language Strategy by cm2187 on Wednesday February 01, 2017 @06:38PM (#13546563)
He is the program manager for VB...
Re:The .NET Language Strategy by MichaelGG on Wednesday February 01, 2017 @09:39PM (#13547617)
While I was/am a bit incredulous at the number I was hoping for some sort of list or summary. Just sounds like a lot.
Re:The .NET Language Strategy by Locke1689 on Thursday February 02, 2017 @03:31PM (#13554358)
Read the source for the compiler and find all the differences. There are constantly minor semantic changes, like numeric conversions, double parsing, scope of generated temps in for loops, delegate conversions, Nothing, etc.

I just started typing this list off the top of my head and every time I typed something out I could think of one more thing. And these are just the ones I remember, so they're probably the ones that were annoying to work around in the compiler.

Re:The .NET Language Strategy by wuzzard on Wednesday February 01, 2017 @06:54PM (#13546677)
Even so... with numbers like that we need proof!
Re:The .NET Language Strategy by btilly on Wednesday February 01, 2017 @06:00PM (#13546282)
As long as paying customers have legacy VB code, Microsoft has a very good reason to continue supporting VB.

Companies generally spend a lot more money maintaining legacy code than they do creating new code.

Re:The .NET Language Strategy by runjake on Wednesday February 01, 2017 @06:26PM (#13546487)
Legacy VB != VB.net. VB.net is just C# with the words replaced (although there are a few unique logic structures). Legacy VB code has to be ported to VB.net.
Re:The .NET Language Strategy by btilly on Wednesday February 01, 2017 @09:27PM (#13547573)
You should parse my statement as (legacy (VB code)) and not ((legacy VB) code).

At this point anything written in VB of any flavor is legacy. But it still needs to be supported. And as long as that is true, Microsoft has reason to support it.

Re:The .NET Language Strategy by Zardoz84 on Thursday February 02, 2017 @06:15AM (#13549692)
Or throw it to the trash and rewrite it
Re:The .NET Language Strategy by krylon on Thursday February 02, 2017 @07:32AM (#13550056)
In an ideal world, this would probably happen quite often, but on a large and complex code base, it also means throwing away the specific knowledge that might only exist in the heads of people who have already left the company, as well as throwing away the countless hours of debugging to get it working (even if "working" might mean "barely working").

From a management point of view, it means throwing away a large amount of money and then spending more money to replace the old code base, accompanied by the usual risk of whooshing deadlines and all that.

To a programmer it might be easy to see that a rewrite will save the company money in the long run, that can be difficult to sell.

Re:The .NET Language Strategy by madiathomas on Thursday February 02, 2017 @03:30AM (#13549011)
Existence of VB.NET doesn't bother me at all. I develop exclusively in C#.NET but there is a lot of VB.NET language features I wish were available in C#.NET.
Re:The .NET Language Strategy by krylon on Thursday February 02, 2017 @07:50AM (#13550141)
Never having touched VB.Net, that makes me kind of curios: Would you care to name a few of those features?
Re:The .NET Language Strategy by smoothdeveloper on Thursday February 02, 2017 @07:59AM (#13550195)
better type inference for anonymous functions, better type inference for instance members.

Another big feature is code layout being more compact and consistent than in C# codebases.

Re:The .NET Language Strategy by krylon on Thursday February 02, 2017 @12:39PM (#13552514)
Thanks!
Re:The .NET Language Strategy by scarface74 on Wednesday February 01, 2017 @11:52PM (#13548207)
It's not about sneering a VB. I don't see the use of it in 2017. I started using VB6 in 1999 - 2000. I was a pretty good C and C++ programmer, I could do a little MFC, I was pretty good at writing COM and DCOM dlls in C++, etc. but I saw a real advantage of VB to getting used friendly GUI apps done and the IDE was pretty good. I would often wrap c++ code in ATL wrappers to create COM objects to use in VB.

But what's the real purpose of VB today? No matter how you look at it, either C# is just as easy as VB.net or VB.Net is just as complicated as C#. It seems just wordier and redundant.

Re:The .NET Language Strategy by smoothdeveloper on Thursday February 02, 2017 @12:32AM (#13548357)
Nowadays, do you use any language which is not C like?

Regarding VB, the language is used by many people whose main occupation is not software development, and even for those doing software there are many who find C# or similar looking languages aren't a panacea (I do, and have around 15 years of C# experience).

In some cases VB is also less redundant than C#, it has better type inference for example.

I'm sure plenty of pascal/delphi developers are also fine without C#.

You should understand that other languages than C/C++/C# make different syntax choices, and it is not hurting C# in anyways that such language exist and prosper.

Note that I had a lot of prejudice against VB but I came back from that perspective, and in the meantime, I feel additions to C# language push it in territory where the syntax is getting really noisy / clumsy (I've picked up F# so I use that it as a metric).

Re:The .NET Language Strategy by averagewall on Thursday February 02, 2017 @06:52AM (#13549854)
I'm just waiting for a robust VB to C# converter or at least a way to start moving code across gradually. For now, I'm locked into VB because of a huge code base that's all one giant assembly. It'd be great if you could put C# classes in a VB program (not as dlls), then we might see some VB programmers just stop using it for new features.
Re:The .NET Language Strategy by goda90 on Wednesday February 01, 2017 @04:40PM (#13545542)
The sneering may be driven by those who are stuck in VB6. My company is still in the middle of replacing a huge VB6 code base with a C# web based system, and doing anything in VB6 with the VB6 IDE is a nightmare in comparison.
Re:The .NET Language Strategy by wvenable on Wednesday February 01, 2017 @04:59PM (#13545742)
VB6 used to be awesome though; sure it's really long in the tooth now and doesn't fit into modern workflows but there was a time it was great for banging out apps. I did a lot work in VB6 and I even used it to teach my daughter programming many years ago.

But VB.NET never really seemed to have a point. Why develop a backwards-incompatible language with all the warts of VB? If it was originally much more closely compatible with VB6, you probably still wouldn't be stuck with VB6 code in 2017. And if it didn't try to be so but not quite VB6-like, it would make for better beginners and financial systems language.

Re:The .NET Language Strategy by cm2187 on Wednesday February 01, 2017 @06:14PM (#13546407)
There is a case for case insensitive languages (pardon the pun!). You just don't get to write a lot of useless bugs because you mistyped the casing of a particular variable. I see that all the time in C# live demos.
Re:The .NET Language Strategy by WorldMaker on Wednesday February 01, 2017 @04:48PM (#13545615)
I've been doing VB6 conversion stuff for most of my career, so I definitely feel this.

I think the sneering is more driven by the sorts of people that think that programming shouldn't be easy/accessible to the untrained masses. There seems to be a lot of coding elitism/machismo/masochism out there.

Re:The .NET Language Strategy by marcosdumay on Wednesday February 01, 2017 @04:57PM (#13545728)
Do you think VB.Net is in any way more accessible than C#? Or that any of those is less accessible than VB6?

The untrained masses have a way into getting hooked on tools that are harder but offer no benefit compared to many other stuff available around. It is very easy to hate those tools.

Re:The .NET Language Strategy by WorldMaker on Wednesday February 01, 2017 @05:18PM (#13545943)
«Do you think VB.Net is in any way more accessible than C#?»

Having been a teacher's assistant on courses the answer is very clearly and emphatically: Yes.

It's easy to discount the accessibility of a syntax when you are already at the top of the learning curve, but the Algol family will always be tougher to teach/learn than the BASIC family. Punctuation is harder than you think. (Aside: partly why I think JavaScript is actually the easiest to teach in the Algol-inspired family for the benefit of having optional semicolons alone.)

«Or that any of those is less accessible than VB6?»

That's not an anecdote I have first hand experience with. I think there are a lot of cranky VB6 developers that sneer that VB.NET is worse and so much harder than VB6, but my gut tells me that that may be more the relative learning curve/gap in moving from VB6 to VB14. I don't think it is anywhere near as representative of the accessibility of learning VB14 as a first language. (I also think the more important question is the accessibility of moving from Office VBA to VB14, as it still seems for a lot of disciplines Office VBA is the most important first step towards programming.)

«The untrained masses have a way into getting hooked on tools that are harder but offer no benefit compared to many other stuff available around.»

I'm not sure what you are getting at here. I don't think VB.NET is any "harder" than C# and while VB.NET might not offer "more benefit" than C# (assuming you discount syntax/accessibility entirely as a benefit), it certainly is no worse than C# as a tool for a person to use.

Re:The .NET Language Strategy by marcosdumay on Thursday February 02, 2017 @07:36PM (#13556539)
> I'm not sure what you are getting at here. I don't think VB.NET is any "harder" than C# and while VB.NET

It was not clear by the comment, but I was not talking about VB.Net. This one is no worse than C# or Java, and I also don't see many people stuck on it.

That phrase applies much more to VB6 (even more in the day), and some others like PHP, or, going out of the generic domain MathLab (that used to suck, a lot, but doesn't anymore), and VBA.

Re:The .NET Language Strategy by krylon on Thursday February 02, 2017 @08:00AM (#13550197)
> my gut tells me that that may be more the relative learning curve/gap in moving from VB6 to VB14.

As I remember it, there were lots of angry VB6 developers when Microsoft discontinued the "old" VB and told them to migrate to VB.Net. I vaguely remember there was some kind of online petition (although it was a long time ago, my memory might be playing tricks on me).

Re:The .NET Language Strategy by _r_o_y_ on Thursday February 02, 2017 @08:45AM (#13550416)
Yes, it's in VS User Voice page [0] and surprisingly there's people commenting even tho it was decline.

[0] https://visualstudio.uservoice.com/forums/121579-visual-stud...

Re:The .NET Language Strategy by ptx on Thursday February 02, 2017 @03:59PM (#13554600)
> I also think the more important question is the accessibility of moving from Office VBA to VB14

VBA 6 is exactly the same language as VB 6, with the same IDE. VBA 7 (the current version) adds some new types to support 64-bit mode.

(I'm currently maintaining a bunch of VBA code in a third-party application that uses it for scripting.)

Re:The .NET Language Strategy by sokoloff on Wednesday February 01, 2017 @05:08PM (#13545843)
We ported a massive classic ASP site to VB.Net in 2003 and then several years later ported it to C#. My experience was that some devs did better with VB.Net (coming from classic ASP) than they would have jumping to C#.

It wasn't quite "open the site in the new IDE and fix all the squiggly underlined bits" but that was a substantial part of the mechanical effort.

Starting from nothing? Skip VB.Net and start with C# (assuming you're set on the CLR). Starting from VB6 and a novice programmer? VB.Net has advantages over C#, IMO.

Re:The .NET Language Strategy by cm2187 on Wednesday February 01, 2017 @06:16PM (#13546428)
It is certainly accessible to business people who's only early steps with programmming have been in VBA.

It is by the way an act of cruelty from Microsoft to only provide office users with a 20 year old language that hasn't been updated since the end of the 90s... What happened to VSTA??

Re:The .NET Language Strategy by throwaway7645 on Wednesday February 01, 2017 @08:35PM (#13547268)
Second this. Most people new to VB.NET these days are transitioning from VBA and would find C# far more difficult. Engineers in my office don't write much production code and therefore get to pick what they want to solve problems. Python is very popular and the .NET people are split in 1/2 between C# and VB.NET. The C# code is usually better as the people that choose it are more advanced programmers, but the VB.NET crew still crank out time saving tools and like it.
Re:The .NET Language Strategy by ZenoArrow on Wednesday February 01, 2017 @06:31PM (#13546523)
>"It is by the way an act of cruelty from Microsoft to only provide office users with a 20 year old language that hasn't been updated since the end of the 90s"

Office has support for multiple languages, not just VBA. The three that spring to mind are JavaScript, M and DAX.

Re:The .NET Language Strategy by cm2187 on Wednesday February 01, 2017 @06:35PM (#13546552)
You can't really write UDF in javascript, it's nothing like the VBA integration. (and on a personal note, I still prefer VBA over javascript)
Re:The .NET Language Strategy by ZenoArrow on Wednesday February 01, 2017 @06:59PM (#13546708)
UDFs aren't the only reason VBA is used, though if that's what you're interested in it looks like Microsoft are planning something new in this area:

http://stackoverflow.com/a/40727011

Also, if you don't mind using 3rd party solutions, you've got other options:

http://fcell.io/

http://xlloop.sourceforge.net/

Re:The .NET Language Strategy by cm2187 on Wednesday February 01, 2017 @07:02PM (#13546716)
The big difference with VBA and javascript / third party solution is that I can send a xlsm spreadsheet to a colleague or another company and he will be able to run it just as well as me, I don't need to spend the next 5 years doing the support of how to reinstall the addin that is required to make it run.
Re:The .NET Language Strategy by ZenoArrow on Wednesday February 01, 2017 @09:22PM (#13547542)
Yes, that's why I said "if you don't mind using 3rd party solutions". If 3rd party solutions aren't suitable in your workplace (some workplaces would only need the extra features in internal-only documents, meaning the add-in installation could be managed by a single IT department rather than by individual users) then the Microsoft solution that's being planned is more relevant.
Re:The .NET Language Strategy by will_pseudonym on Wednesday February 01, 2017 @06:46PM (#13546619)
Also a somewhat limited version of SQL.
Re:The .NET Language Strategy by ocdtrekkie on Wednesday February 01, 2017 @06:08PM (#13546357)
I've learned both C++ and C#, and I ended up writing my home automation system in VB because it just came more naturally to me, and I can write code that does what I want faster with it.

The side perk that I can relatively easily convert to C# later if I have to is there. But yeah, as much as I've worked in C style languages before, I find VB much more comfortable.

Re:The .NET Language Strategy by fpig on Thursday February 02, 2017 @05:17AM (#13549454)
Seriously, sneering at VB6 in 2017 is elitism? Using it today comes with countless drawbacks, but is actually not any easier than using C#.

I used VB6 for all my Windows applications when my alternative was to use C++ + MFC or Win32 which was significantly more difficult. There was an actual advantage. Today, there is no advantage whatsoever.

Re:The .NET Language Strategy by WorldMaker on Thursday February 02, 2017 @10:58AM (#13551412)
Sorry, no, my intended tone was that sneering at VB14 (VB.NET 2015 edition) today was elitism. VB14 is a good language on equal footing with its peers, but there seems to be a lot of antagonism to it simply because it still tries to be new programmer friendly-ish.

(I agree that VB6 is a relic of the past that is no longer a viable programming platform.)

Re:The .NET Language Strategy by bluedino on Thursday February 02, 2017 @07:49AM (#13550137)
Previous company had a couple large programs, all in VB6. Back in the Windows 98 days, one of the accountants literally bought a copy of "Teach yourself Visual Basic in 21 Days", and wrote the first version of one of these programs. He had no formal computer science training or other programming experience.

Well, other people in accounting borrowed the book and built more and more features into this program, and created a couple other similar programs.

At no time did they consider 'maybe we should bring some real programmers into this' or re-write any of the code, and now they're stuck on this code and they have 4 'very bad' programmers working on it. It's a huge buggy mess with every bad programming practice you can think of.

Re:The .NET Language Strategy by mynameisvlad on Wednesday February 01, 2017 @04:49PM (#13545633)
Yeah, I'm sure everyone hates VB6. That's why the last stable release was 19 years ago and the IDE stopped being supported 9 years ago.
Re:The .NET Language Strategy by yread on Wednesday February 01, 2017 @05:37PM (#13546103)
I think it's not VB6 people hate, it's VBA. VB6 was quite awesome. Writing VBA is always a pain though
Re:The .NET Language Strategy by ZenoArrow on Wednesday February 01, 2017 @06:34PM (#13546545)
VB6 and VBA are very similar.
Re:The .NET Language Strategy by recursive on Wednesday February 01, 2017 @11:56PM (#13548223)
I'm a person. I hate VB6.
Re:The .NET Language Strategy by WorldMaker on Wednesday February 01, 2017 @04:44PM (#13545587)
Given (MOS 6502) Microsoft BASIC was the company's first product, BASIC has been such a deep part of the Microsoft DNA, I couldn't imagine Microsoft discontinuing VB. I'm not sure a BASIC-less Microsoft would still be Microsoft. It almost seems easier for me to imagine a Microsoft without Windows than one without VB or some successor to VB.
Re:The .NET Language Strategy by zip1234 on Wednesday February 01, 2017 @10:05PM (#13547751)
Even without Visual Basic .Net, MS would still have Visual Basic in MS Office and that will be around probably until the end of time
Re:The .NET Language Strategy by seanmcdirmid on Wednesday February 01, 2017 @06:31PM (#13546519)
Not just that, it was BillG who wrote the code for that. Not going deeper in MSDNA than that.
Re:The .NET Language Strategy by mattmanser on Wednesday February 01, 2017 @07:06PM (#13546745)
I've had to pick up a couple of VB.Net projects. They've both been poorly written, badly implemented and years if not decades behind the time.

There's a reason for the sneering. One of those I've virtually completely rewritten in C# and the code base is now like 30% of the TLOC. Not because of the language, but because of the type of programmer who started a new project in VB.Net in the last 5 years.

For all intents and purposes the languages are virtually interchangeable, though C# is generally more succinct and somehow "better" to me. I don't even really think about it when switching between the two.

UK projects, for reference, where .Net has always penetrated further than Java.

I also still get an inordinate amount of calls because my linked in profile list VB.net asking to 'upgrade' a project from VB.Net to C#. Then again, the salesforce offers I get too... Ugh, much worse than VB.Net.

Re:The .NET Language Strategy by cm2187 on Wednesday February 01, 2017 @06:09PM (#13546366)
Seconded. Though I don't really understand what is their message on VB in plain english. They will continue supporting it but won't be adding new features like they do in C#? Am I right to read it this way?
Re:The .NET Language Strategy by ctolkien on Thursday February 02, 2017 @01:16AM (#13548521)
I read it as "we will be adding features that make sense for VB (which might also make sense for C#), rather than keeping it in sync with C#".

Allowing it to evolve on it's own, rather than being C#'s ugly little brother.

Re:The .NET Language Strategy by flukus on Thursday February 02, 2017 @01:23AM (#13548554)
That risks libraries becoming incompatible. 99% of the top libraries are in c#.
Re:The .NET Language Strategy by svick on Thursday February 02, 2017 @12:30PM (#13552392)
That's explicitly called out in the article: they will make sure libraries written in new versions of C# can be used easily in new versions of VB.
Re:The .NET Language Strategy by thearn4 on Thursday February 02, 2017 @02:34PM (#13553755)
I'm translating a giant pile of Excel w/VB macros into Python at the moment and am not exactly having fun. The ugliness isn't really VB syntax as much as the interactions with and organization into the underlying sheet.

But I can't argue with the fact that it did do it's job for a long time. And I've learned to not underestimate the value of something that is known to work.

Re:The .NET Language Strategy by throwawaydbfif on Wednesday February 01, 2017 @04:34PM (#13545480)
I'm all for maintaining backwards compatibility but I've coded in both and VB is just an inferior language. Sorry :)
Re:The .NET Language Strategy by Pica_soO on Wednesday February 01, 2017 @04:49PM (#13545628)
Its not for backwards compatibility, is for beginner friendliness of a eco-system. If one had a stroke and lost all knowledge on comp-science- what would you be more likely to drop for overwhelming complexity and missing instant results? C# or VB?
Re:The .NET Language Strategy by wvenable on Wednesday February 01, 2017 @05:07PM (#13545842)
For a language that has both "And" and "AndAlso" as keywords; I don't think VB.NET should be considered the paragon of beginners languages.

It might have "Basic" in it's name but the complexity of smashing old-school VB syntax and semantics with .NET syntax and semantics has not made for a very beginner friendly language. It's more complex than C# (excluding some of the newest C# features). It's just painted over with a more English syntax to appear beginner friendly.

Re:The .NET Language Strategy by cm2187 on Wednesday February 01, 2017 @07:32PM (#13546920)
How is it far more complex than C#? Both have been designed at about the same time and VB.net has broken backward compatibility precisely to get rid of legacy design decisions. But both have evolved since. And yes you can use a generic and non generic version of a class. Yes you have old style async and new async/await versions of methods. Yes you have explicit typing vs type inference with two ways to do the same thing. And yes you can use lync as an expression or as chained functions. How is that different from C#? Both have evolved pretty much side by side and have as much legacy.

The one thing in my opinion that has been preserved from VB6 and is dangerous as ambiguous semantically is the following:

  Dim x as Integer
Means declare a variable x and instantiate it to zero

  For i = 1 to 10
    Dim x as integer
    x += 1
  Next
The second line means declare x as integer but only instantiate it to zero the first iteration, the second iteration the instruction will be ignored.

That to me is unintuitive.

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#
Re:The .NET Language Strategy by sokoloff on Wednesday February 01, 2017 @05:09PM (#13545855)
I laughed as I read your comment (not the way you intended).

"Try VB.Net, the perfect language choice for stroke victims."

Re:The .NET Language Strategy by arwhatever on Wednesday February 01, 2017 @06:33PM (#13546539)
I must admit that many VB.NET keywords more closely represent their respective concepts than C# does, but having far more C# experience, those VB.NET keywords initially strike me as seeming like baby-talk.
Re:The .NET Language Strategy by maxxxxx on Wednesday February 01, 2017 @05:07PM (#13545835)
I think VB6 and VB.NET are totally different beasts. VB6 is maybe a good language for beginners but VB.NET is just a weird language in my view. C# is a much more natural fit for the .NET runtime.
Re:The .NET Language Strategy by Clubber on Wednesday February 01, 2017 @05:14PM (#13545910)
It's not just hipsters ;)

All joking aside, VB.NET has solved a lot of problems for companies.