BT

Visual Basic: Back by Popular Demand

by Jonathan Allen on Apr 27, 2015 |

When .NET was first released, Visual Basic and C# were on equal footing in the community. But over the years, Microsoft has been slowly moving towards deprecating VB. The first time that the future of VB was in question was around 2008 and resulted in co-evolution promise.

This promise was put into doubt with the introduction of Windows Phone 7, which didn’t offer VB support until September of 2010. And again, when Microsoft quietly dropped VB from their professional developer certification program.

The most recent insult was when the community found out that VB wasn’t going to be supported by ASP.NET 5. Not only was this a breach of the promise for equal support, the decision was made without any sort of public announcement. The fact that Visual Basic wasn’t going to be offered was revealed in a bug report last December.

Since then the Visual Basic users have woken up. While still greatly underrepresented in the blogger community, they were able to use formal channels to convince Microsoft to offer full support for VB in ASP.NET MVC. Jeffrey T. Fritz writes,

We’ve talked about ASP.NET 5 as a major update of the ASP.NET framework with Roslyn and cross-platform support in mind since our initial public discussions. It is not a short path, and we focused initially on completing support for C#. In the months since our initial announcements, we have heard from many of you, telling us how much you like Visual Basic and that they want to see support for it in ASP.NET 5.

We are excited today to announce that ASP.NET 5 will have full support with Visual Basic (both tooling and runtime – including cross platform runtime support). As always, we will continue this development of ASP.NET 5 in the open, and you can track our progress or even contribute on GitHub at http://github.com/aspnet/home.

Many developers question whether or not any new work is being done in Visual Basic. Michel Posseth answers,

I spit out at least 2 projects a month in my company `! :-)

In our company all development is done in VB.Net 2013 Ultimate with FW 4.5.2 and yes we use the WPF , MVVM ( in a purist form ) , we use the Entity Framework 6,x and Yes we use MVC with Razor and we even code our App and yes everything IN VB.Net With option explicit , option strict and Option Infer switched to ON ! ...

[…]

Also note that as the owner and founder of VBDotNetCoder I see a big increase of VB.Net evolving right now ! Especially in South America , Greece , Spain and Italy ,,,,, so yes there is hope that VB.Net will catch up a lot within now and a few years :-) once people realize that it is actually the better RAD and debug environment to get a business running .

In terms of visibility, pcnerd has a theory,

I think the real issue is most of VB.net is in the corporate space and do not allow for feedback to be sent back to Microsoft, or start new projects, just keep adding on. The code base I work with was designed pre .net 2.0 and it sometimes feels like it, even though we are running against .net 4.5. On the other hand, my last project I started, I could not even start the project with VB in visual studio. I had to pick a generic one and modify it to be VB. To say we aren’t doing cutting edge, I’m using Web Api, Razor, and Angular hosted with OWIN on Katana. Even security is using Web Tokens. Just imagine that is in VB and JavaScript!

Despite this announcement, there are still hard feelings among some developers. Chris Owens writes,

It's good to hear that VB.NET will get some parity with C# as far as ASP.NET 5 goes. Though, it's sad that there were enough C# fanboys at Microsoft with mindsets like Stephan Walther who made the derogatory comments about they’re only being 2 people doing ASP.NET MVC development with VB.NET and they should stop. It's also sad that it was even a question at all and again that the thousands of corporate enterprise developers that use VB.NET were an afterthought - and we have to wait until the full release to even be able to use things.

It would have been nice to be able to play with the pre-release bits in VB.NET since that's what I'll be using at least 95 of the time for MVC, etc... Now, I'll be behind the curve and have to continue to wait until the full release with VB.NET. Though I'm sure the C# fanboys will make sure that all the examples are C# only as usual and continue to perpetuate the myth that there are no VB.NET people left so those with hurt feelings that MS is continuing to support VB.NET can continue to assume nobody uses it.

Rate this Article

Relevance
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

VB.Net is Better Because: by Dan Waters

1) It's easier for new programmers to get started.
2) I can show potential customers (non-programmers) my code and walk them through how something works because - they can read it!
3) Spending time typing braces on blank lines? How does that help? I'm a big fan of whitespace but c'mon!

From what I have read MS created the C# language to entice Java developers to migrate to using Visual Studio and .Net. The developers who did were already experienced developers. Some experienced developers have a strong need to believe that they are better than other developers - hence the bias towards VB.Net. There are other kinds of bias - but it's all the same desire to want to feel better than someone else (which comes from a lack of self confidence or self esteem in themselves).

I've also read that MS recently rebuilt VB.Net from the ground up for the next release of Visual Studio. I hope that allows the two languages to reach parity - in everyone's eyes.

Long Live VB by Larry Thompson

I have used Basic since QBasic (and actually before). WHile I have dabbled in C++ (and C#) I vastly prefer VB as a development tool to rapidly produce corporate (and non-corporate) projects due to it ease of use (and no brackets).

Wrong assumptions, bad mathematics and pointless examples from others: welcome to the .NET world ! by Marius Orion

As usual, the netties are totally in the ditch! Wrong assumptions, bad mathematics, pointless examples of others they know nothing about (you browsed it on google did you not?) and links that don't work. I am talking about real code that I write and that works, not google links or other half-baked graphics library from ... whatever. VB6 puts .net graphics to shame on every aspect, performance, capacity, speed, capabilites. Try a bilateral space domain bitmap filter in .net... (oopss no such thing)!
The programming world toppled over with VB6 : finally a top level language with limitless possibilities, so easy to use because of its free form and human like simple syntax, leaving you more time to concentrate on crucial aspects of the programming job at hand. There is a concept that netties just don't seem to get, and that is : PRODUCTIVITY.
A big share of the real world is about physics, mechanics and mathematics. I am much more interested in doing FFT's, convolution and correlation on mechanics problems than doing the programming. The language is just a tool to support other mathematical activities. Suddenly with VB6, scientific programming was 5% learning curve/maintenance and a full 95% productivity for problem that matters.
Last 15 years has been a joyride and many people just don't want out of the band-wagon just now...not ever in fact. Who in his right mind would give up 95% productivity in a painless programming environment where everything works so fine all the time and with an almost unlimited access to low level API's power? For what?
Face reality : .Net and the Framework are incredibly stuffy, cumbersome, low productivity, painful environnments born out of the symbiosis relationship between a bunch of micro-managing minded, OOP obsessed techies on a binge (techies are, by definition, people that like making things more complex than they really are) and a very ill advised managing class (pun) that let things go this way for too long, backing them.
The point you are not getting is that scientists and engineers have long masterered ALL the programming they really need, we like the 95% productivity of VB6 and we will just not settle for less or anything else for that matter.
It is pretty amazing to see a company spits out on its own creation, which ironically happens to be one of her best ever, and fail, in fifteen years, at making a successor product that competes with it.
A bunch of us, we are just watching from afar a company entangling herself in a web of doubtable OOP concepts and miscelaneous technologies, jumping from XML to AXML, Silverlight to LightSwitch, DAO to ADO, deprecating perfectly good working stuff at will along the way, for the benefit of their next new great idea that will work (or maybe not), due for deprecation anyway. And from a distance, it all looks pretty silly because it is mostly about stuff a scientific productivity programmer (or accountant or just about any other trade) does not want or even care about.
Fact is : circa 2000 had all the best programming tools (namely VB6) on an hardware base technology that remains unchallenged and is not to be for decades to come. If you want it in other words, that means that the low level kernels of Windows have achieved monolithic status for as long as there is a product called Windows. Then on the upper floor, the techies are having a ball, making Windows and .Net an ever harder thing to manage in the name of...how did you say? Something about managed.. and future ... hum there was also something about spaghetti but I lost you there, you were babbling and I have a short attention span for that sort of things...
I do appreciate that there is a whole sector of programming that is of little interest to me, and about which those fore mentionted programming technologies are promising wonders, and I have no problems with that. I say go for it, have a ball.
But in a sane, mature, productivity world, you don't fix things that are not broken, you do not throw away a winning recipe, you don't re-invent the wheel when yours is running so smoothly, you don't invent New Coke nor Windows 8 (or 10) nor .Net, and if you do, salvation only goes through bringing back Classic, or else drown yourself in your new taste nobody likes.
What the VBsixters are telling you is : we want a hammer and a nail, we'll take care of the rest.
Please bring back VB6! Nothing else will do really. Every year spent widens the gap. Run-time will last beyond 2024. Maybe at that time Xojo or similar will be ready to take over productivity programming and give us what we want. And when that time comes, it will probably not matter anymore whether it's written MS on the label or not.
A comment by MathScienceAndGraphics


vb6awards.blogspot.com/2015/04/a-replacement-to...

Rejecting the idea of bringing back VB6 over the years, Microsoft lost a lot of integrity by Marius Orion

Rejecting the idea of bringing back VB6 over the years, Microsoft lost a lot of integrity in the process. If MS start reinvesting in the huge VB6 user base I'll jump back in. You have real users that have invested years into a product and culture. MS listened to a very skewed minority and made changes that any outside observer could see where disassociated with the bulk of those users needs. As a result they lost a lot of integrity in the process.
I think MS can gain it back. Everyone has the ability to properly fix road bumps. Giving the customers what they are actually asking for would be a start, i.e. an updated VB6. NOT a token johnny come lately .Net Open Source effort telling VB6 users it meets their needs too. BS!
Both can exist and actually are at the moment too.

VB6 is offering the possibility to focus more on building the algorithms rather than on writing time-consuming code: A comment by Razvan Preda by Marius Orion

TCA is one of the more recent software systems that is based on Visual Basic programming. Source code is written in more than one programming language but predominant is VB6. The reason is quite simple. VB6 is close to pseudocode, offering the possibility to focus more on building the algorithms rather than on writing time-consuming code. Understanding the studied processes and creating the algorithms are the core of any scientific software system building activity. Writing the code is just the implementation phase that offers the possibility to verify the results and that should happen quickly. Otherwise, the research of the phenomenons would be dragged over a long period of time due to the implementation phase. In border sciences, such as colour science (which requests knowledge in the fields of chemistry, physics and mathematics), it is important to have more time to study and understand how to address the problems, in order to create viable algorithms, than to waste time on writing complicated computer language syntaxes. Large software programs that aim to solve a variety of problems are usually not written today in only one computer language. That is because some languages are better suited to some problems, and some are not. I started learning computer languages when Fortran 77 was leader and learned several computer languages since then. VB6 is not a strongly typed object-oriented programming language and that's why I'm not exclusively using this language but VB6 earned its place among the top computer languages for good reasons that should not be underestimated. Ultimately, it is software developers that make computers useful and Operating Systems attractive, and if there's a large number who say that VB6 should be supported, then Microsoft should continue to support it in its own interest.

Please bring back VB6. I will have nothing to do with .NET: a comment by Anonymous by Marius Orion

Please bring back VB6. I will have nothing to do with .NET, an idiotic ill designed framework based on the over-usage of objects and classes, with a way too heavy syntax. In the past 17 years, I have written well over a million lines of code in VB3-4-6, all numerical computation, digital signal processing, mechanical analysis and 3d real time graphics. You will not find this code on PSC or the like, but in the engineering departments of major corporations, including all three biggest world-wide mining companies. Their requirements: something no-nonsense, easy for the typical dept technician (not much computer litterate) to handle and that works fast and into the long run. These companies don't like to jeopardize their investments in platform and software system changes.
I expect the same from my programming tools. Formerly in C, much of this code works on par speedwise with their C originals, sometimes even faster. The native code generated by VB6 is truly top notch. I don't need nor use ADO (DAO is so easy and so much faster), XML, HMTL 5, Silverlight (another MS half-baked product gone deprecated) or any of the seemingly high level, flavour of the year tools, introduced recently and touted as the "next best thing" (for gullible .net techies anyway).
There was .net 2003, 2005, 2008, 2010, 2012, 2013, now 2015. Don't go thinking they were ignored, on the contrary, I tried them all and I can write top notch code with them. But I will not. They are just failed, half-baked bloatware products that came out of the twisted micro-managing minds of software engineers with limited imagination and skills. All along the way, MS has been forced into marshalling just about anything legacy in order to make things work somewhat right.
Is that all you (MS) can show for? Not productive at all. People want/need RAD. How long will this go on? It seems clear that developers at large (again with the exception of a few gullible techies) don't embrace the framework. There is no reason to. A change of course is required before it's too late. A. Einstein, a person known to have a few good working brain cells in his time defined insanity as : when you try something again and again and again, expecting somehow to get different results.
Let's stick to what really works. A fast IDE that takes care of assembling all your programs into small, compact, fast executables with a minimal distributed runtime, boosted with easy and reliable access to GDI and other system level API's.
The framework is ill designed technology. All it does is wrapping existing API's into a less usable form.The higher your depencies on wrappers, librairies and third parties, the bigger chances are your systems are going to fail with no solution in sight. I have been that road too many times before. With such people as Paul Yuknewicz at the wheel, the confidence in MS as a software company has been shattered possibly to the point of no return.
P.S. I don't mind the .net techies and trolls spamming this thread. They have no credibility whatsoever.

VB6 will out-last that entire .NET generation of tools: a comment by Anonymous by Marius Orion

VB6 will out-last that entire .NET generation of tools: a comment by Anonymous
.net is just plain awful. Slow, buggy, incompatible tripe. The code isn't even very readable. I know, I've had to use it professionally, however given the choice, to start a new project in ever tighter timescales, VB6 is the ONLY option. Period. I'll be honest, I don't need a new version, just keep it running in your new OS's MS, that's all I need to hear. However, if it does ever die it would actually be less trouble for me to just move to a new platform completely, as other have suggested, so it would be just one more nail in the coffin for Windows generally. If I wasn't a programmer (ok .net peeps, I'm not a programmer in your book), I think it would be quite perverse for a company to ignore a product that is obviously as popular as VB6, even today a top 10 ranking development tool. And one which only exists on Windows. Bearing in mind the ebbing away of Windows fans as it is, can they really throw the baby out with the bath water? Nobody like to admit their wrong, but they should really take their heads out of their ***sses occasionally and see what their own community actually want. By all means, keep developing .net, if that makes you feel any better, but I think most VB6 developers will have already trodden that path and decided it's not for them. I don't think any new version based on the .net model will ever change that, even if people bothered to try it out again (I think I tried out all of them, up to VS 2010 (?)), it didn't get better, fancier, definitely, more complex, absolutely, more powerful, depends on what you think power is (as it's generally slower each rendition), a joy to program in, not at all, anything like VB6, no - it's a totally different language. In another post somewhere, the point was made that .net is the future, but I think VB6 will out-last that entire generation of tools, because it's 'better' for what we, in the real world, need to do. Would it be nice to have an updated, supported and entirely code compatible version of VB6, absolutely. Would it be successful, more than I think even MS could imagine. Will they ever do it, absolutely not. Why? I haven't a clue, it defies logic. Perhaps, like a small child, they just can't admit they where wrong and have become totally absorbed with trying to prove their right. But, as we all seem to know, they did get it very very wrong.

Why Microsoft .Net failed... by Marius Orion

Andrew Oliver says
Why Microsoft .Net failed...
Microsoft tried, but it couldn't win the hearts and minds of developers who weren't already indoctrinated -- and it alienated others along the way.
Like many Microsoft "innovations," .Net was a copy (embrace) and improvement (extend) of someone else's technology -- in this case, Java.
Unfortunately, .Net also cannibalized Microsoft's most successful corporate IT development environment, Visual Basic.
Visual Basic .Net didn't have much to recommend it. There wasn't enough documentation, so you had to learn C# anyhow.
Instead of .Net propping up Windows, the greater Windows ecosystem propped up .Net. People coded to .Net because they were coding for SharePoint or BizTalk. If you delve deep into .Net jobs, you'll notice they tend to be legacy or related to SharePoint and friends.
Now it's too late for .Net. As we move from IaaS to PaaS and SaaS, folks are simply unlikely to care about operating systems. If you don't care about operating systems, why not code as if you don't care about operating systems and code for the cloud? We've seen recently that Azure isn't lighting the world on fire. Why would we expect that to change?
This results in a downward spiral for 'Softies hoping that writing to .Net is enough.

Visual Basic 6 is back by Popular Demand, BUT, VB.NET is NOT by Marius Orion

And a comment from me: Visual Basic 6 is back by Popular Demand, BUT, VB.NET is NOT

Re: Wrong assumptions, bad mathematics and pointless examples from others: by Larry Thompson

Very well said, and as far as I am concerned 100% accurate

Re: Wrong assumptions, bad mathematics and pointless examples from others: by Murray Whipps

Absolutely, 100% spot-on.

I have been programming for over 30 years professionally and know several languages.

During this time I have embraced the philosophy of using the best language to do the task at hand.

IMHO VB6 is the best solution for business programming on PCs, period.

Business systems are process-driven, not object-driven. It is borderline mad to attempt to coerce procedural operations into OOP. Yet this is what MS is expecting us to do.

I believe the lack of a procedural language is the principal reason for the dearth of business apps in the Apple world.

Business systems also require reporting, which require printing. Printing just doesn't work well at all in the .NET world.

That said, it is equally mad to code a product like Angry Birds in anything other than OOP.

Microsoft are obviously extraordinarily rich and doubtless think they are correct so they're not likely to react to us.

But I would buy an upgrade to VB 6 that would run the IDE on 64-bit
systems tomorrow. I don't need much else.

Murray

Re: Visual Basic 6 is back by Popular Demand, BUT, VB.NET is NOT by MaQian Shi

VB6 has never left in the first place.

Hijacked!! by Dan Waters

The comments to this article have hijacked the discussion from the article's content of C# vs. VB.Net, to ranting about VB6.

I've never used VB6, but I was hoping for some reasonable discussion related to this article's content.

Re: Why Microsoft .Net failed... by Charles Humble

Hi Marius,

Whilst we don’t generally remove non-spam comments on InfoQ and also don’t formally publish guidelines, we do expect everyone involved in discussions to maintain a level of professionalism, and your posts here, being both ranty and off-topic, get close to crossing the line. I’d like to ask you to please keep your tone more civilised.

We also dislike seeing comments published under pseudonyms.

Please note that we do reserve the right to delete accounts and all associated comments but would rather not have to do so.

Thanks,

Charles Humble
Head of Editorial, InfoQ

VB.NET still gets the short end by Chris Owens

Hey! I got quoted in the story! And crap, I really need to watch my spelling/grammar when I post comments from now on... ;)

I think the "hard feelings" from some developers is quite justified when people make comments like the ones in the InfoWorld article quoted below:

"As soon as applications become bigger than 100,000 lines of code, Visual Basic is not the way to go any more because of its lack of scalability." - www.infoworld.com/article/2858373/application-d...

VB.NET compiles to nearly the same IL. The projects are organized in the same fashion, using the same files and the same development environment as C#. They just don't realize that those slams would just as easily apply to C#...

VB.NET still gets the short end by Chris Owens

Hey! I got quoted in the story! And crap, I really need to watch my spelling/grammar when I post comments from now on... ;)

I think the "hard feelings" from some developers is quite justified when people make comments like the ones in the InfoWorld article quoted below:

"As soon as applications become bigger than 100,000 lines of code, Visual Basic is not the way to go any more because of its lack of scalability." -
www.infoworld.com/article/2858373/application-development/microsofts-visual-basic-upgrade-cleans-up-syntax-and-common-coding-errors.html

VB.NET compiles to nearly the same IL. The projects are organized in the same fashion, using the same files and the same development environment as C#. They just don't realize that those slams would just as easily apply to C#...

It's really not that bad... by Stephen Coleman

I used to write VB. But seriously... It's not better than braces. It's just what you are used to. Also simple Ifs can be written as
If(x == 1)
Logic... without braces

I have also found that many VB only developers don't grasp OO design. Where most c++ or java developers understand it. Writing OO code provides the best platform for maintainability. All that aside, VB and C# have almost no differences. From MSFT perspective they are supporting two code bases that are almost functionally the same. It's very nice of them to continue to do so at their cost. If they dropped VB. You would have to learn c# just like I did. Alos, MSFT may be missing a whole market if they don't keep VB. I did a large scale conversion a few years ago from FORTRAN to VB.NET. It would have been a lot harder to convert to C# and the company may have rejected the idea.

If()Then
Else()
End If

VS

if(){}
else(){}

Visual Basic .Net FOREVER by Daniel Torres

Develop VB .Net is easier, it is a true RAD. We need to develop quickly to earn money and pay our bills. No time for the semicolon least for the brackets. Those who programmed in Visual Basic .NET demand respect by microsoft.

.NET 5 is not really for people who still pine for the days of VB6. by Gene Kochanowsky

I'm surprised that the VB community would care about .NET 5. But then I would guess they are clueless as to what .NET 5 is all about. I doubt VB programmers are gonna start writing their code in EMACS or run their code on linux any time soon. Or start using node.js. .NET 5 is not really for them. It's for the world beyond Microsoft.

Customers Vs. Self-Centric Geeks by John Remillard

VB 6 was/is the last great high-level-language: easy to use, comprehensive, efficient, and productive. Microsoft must not know much about the value of productivity & efficiency to their customers. Management at Microsoft disrespects their customers.

VB for .NET Core... Really? by Gene Kochanowsky

So one of the things that VB advocates tout is just how easy it is to get started with the language. Be that as it may, I don't think VB advocates are aware of just what .NET Core is. For all the passionate discussion from VB advocates on how powerful they think the language is, they have not been paying attention. The world changed. The days of desktop apps is coming to an end. The web is where most of the new development is occurring. And on the Web, its open source standards that generally have little to do with the strange, inconsistent and idiosyncratic syntax of VB and more with the major curly bracket ({}) languages such as C#, Java, JavaScript. Coding to the browser is a necessary skill. I would argue that having VB as your first language makes it harder to learn coding to the browser.

.NET Core is Microsoft's attempt to make .NET cross platform. So it supports command-line development using linux and web open source tools and third party editors. This is something that VB coders generally don't do. So it is no wonder that Microsoft assumed that support for VB in .NET Core just wasn't necessary.

Now some may argue that web forms hides all that, shielding the developer from having to know about it. But Microsoft also wants to deprecate web forms. When they do where does that leave VB?

Frankly, this discussion is reminiscent of arguments made by COBOL programmers that also had a hard time reading the writing on the wall. The world is changing and languages are getting left behind, and VB is one of them.

VB.NET is our language of preference in my Dept by Ohuanasis Garcia

We control all the back end of sales and all the applications and back end process are developed and continue to be develop in VB.NET environment.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

22 Discuss
General Feedback
Bugs
Advertising
Editorial
Marketing
InfoQ.com and all content copyright © 2006-2016 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
Privacy policy
BT

We notice you're using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.