Microsoft Plots the End of Visual Basic (thurrott.com) 66
Microsoft said this week that it will support Visual Basic on .NET 5.0 but will no longer add new features or evolve the language. From a report: "Starting with .NET 5, Visual Basic will support Class Library, Console, Windows Forms, WPF, Worker Service, [and] ASP.NET Core Web API ... to provide a good path forward for the existing VB customer who want [sic] to migrate their applications to .NET Core," the .NET team wrote in a post to the Microsoft DevBlogs. "Going forward, we do not plan to evolve Visual Basic as a language ... The future of Visual Basic ... will focus on stability, the application types listed above, and compatibility between the .NET Core and .NET Framework versions of Visual Basic."
When Microsoft released the .NET version of Visual Basic, originally called Visual Basic .NET, alongside C# at the beginning of the .NET era, the two languages were evolved together and had roughly identical feature sets. But this changed over time, with professional developers adopting C# and many fans of classic VB simply giving up on the more complex but powerful .NET versions of the environment. Today, virtually all of Microsoft's relevant developer documentation is in C# only, with VB source code examples ever harder to find.
When Microsoft released the .NET version of Visual Basic, originally called Visual Basic .NET, alongside C# at the beginning of the .NET era, the two languages were evolved together and had roughly identical feature sets. But this changed over time, with professional developers adopting C# and many fans of classic VB simply giving up on the more complex but powerful .NET versions of the environment. Today, virtually all of Microsoft's relevant developer documentation is in C# only, with VB source code examples ever harder to find.
Re: (Score:3)
How are you measuring? Measuring memory use is very difficult on modern operating systems. A processes address space has a lot of things mapped in including shared libraries and shared memory. Most operating systems will maximize their use of RAM to hold working sets and cache the disk. Firefox can give you some memory reports, but interpreting those is very difficult and indeed Firefox will change its memory characteristics depending on how much ram the system has. The only great way of testing is to
Re:Firefox (Score:4, Insightful)
Here's a hilariously flawed article comparing memory usage of Chrome and Firefox.
https://www.businessinsider.co... [businessinsider.com.au]
The author noticed that the *process* called "Firefox" used a lot more RAM than the *process* called "Google Chrome'. But that was back when Firefox only used one process, and note in the article's provided image, there are a shit-ton of other processes called "Google Chrome Helper" which, when added up, account for much more RAM than the Firefox usage. The guy is somehow not counting them as being Chrome. How can someone be that silly?
ads blocker / privacy filters: make this better (Score:2)
Each tab that I open gobbles up ~289MB of memory. Try it for yourself.
Just install a good ads blocker and some privacy filters (uBlock Origin, Privacy Badger, DecentralEyes, Facebook Container).
Try it for yourself:
Suddently your tabs will stop pulling javascript frameworks each worth multiple-times the whole Doom1 dos game.
As a bonus it makes surfing the web a much better experience.
(For the true paranoid out-there a whitelist based filtering system like NoScript is a must)
This has happened before, and will happen again... (Score:5, Informative)
Re: (Score:2)
C# is next, brace yourselves.
That would suck, C# is actually kind of decent. What would they replace it with, some kind of mongrel version of Python (P#)?
Re: (Score:3)
C# isn't going away anytime soon. It's pretty clear MS is doubling-down on C#, especially given their continued focus on making .NET core both open source and portable to other OSes like Mac and Linux. And C# is the defacto language of .NET programming.
Incidentally, there was already a .NET version of Python called IronPython. I think it sort of got left behind in the version2/3 split, though.
Re: (Score:2)
C# almost makes VB redundant anyway. It's so easy there really isn't much of a gap between it and VB, so it doesn't make much sense to keep maintaining VB.
Also VB is help back by the language syntax and limited flow control options. Microsoft tired to hack in more C# like stuff but there is only so far they can take it. A lot of the benefits of recent .NET and Core releases are unavailable in VB because of this.
Re: (Score:1)
Re: (Score:2)
.NET core is cross platform. I run a website written in C# on Centos right now, it even uses a SQL Server running on the same linux server.
It does mean there's really no reason whatsoever to keep running Java though.
Re: (Score:1)
C# is one of the most popular development languages and .NET is right up there with Java as one of the best development runtimes, each has advantages with neither clearly better than the other.
The same could have been said about Visual Basic back when VB 6.0 first came out. It was a very popular and highly active community of developers. Then Microsoft left Visual Basic to stagnant and wither as they pursued Visual J++ and .NET efforts. It took a long time before VB.NET came about, and even when it did, it was totally incompatible with old VB6 source code.
Mark my words, C# will suffer the same fate. As soon as Microsoft gets excited about something else, it will leave C# far behind, and all those
Re: (Score:2)
Yeah, sometimes I feel sorry for people that don't want to learn new things. But then, sometimes I don't either. I knew a guy that wouldn't move past Classic ASP. And I knew a guy that wouldn't move past VB 6. I sometimes laugh at all the code they had to write, when I can produce the exact same result in a couple of lines or so of code.
But again, sometimes I don't want to learn new things, either.
Re: (Score:2)
But again, sometimes I don't want to learn new things, either.
I hate learning. But I do enjoy knowing.
Re: (Score:3)
10 LET M$ = "Microsoft" (Score:3)
Or perhaps Microsoft was tired of being referred to as "M$", a name that recalls Microsoft's origin as a publisher of BASIC interpreters. (In the line-numbered era of BASIC, string variable names had to end with a dollar sign.)
Re: (Score:2)
Re: (Score:2)
I think this wins the award for the most stupid thing I've seen on slashdot this year.
Microsoft the company was founded on porting BASIC to different computers since 1975. They've been improving BASIC for 45 years! and going forward they are still supporting BASIC, they are just not improving it.
So the next logical question is why are they no longer improving BASIC? Well it's because in 2001 Microsoft invented something better called C#. So going forward C# is future, and C# wil
Re: (Score:3, Insightful)
Yes, I've worked with a couple of guys like you. They do the same job for 20 years and never want to move beyond their favorite technology, like Classic ASP or WinForms.
Software development is not a trade that can be learned just once. We have to constantly be re-training ourselves, or be relegated to maintaining dying code bases that nobody else wants to touch.
Re: (Score:2)
Also changing languages every 5 years makes it inevitable that we can profit from outsourcing to cheap newly qualified graduates in India. Who needs American programmers over the age of 30 anyway?
Re: (Score:3)
Oh, so you think those cheap, newly qualified graduates in India are actually good at this new technology? You clearly haven't worked with many of them.
Changing technology is a fact of life, software or otherwise. Cars, medicine, construction, retail, even evolution itself. Evolve, or die, there are no other options.
VB and VBA (for Excel) is not VB.Net (Score:2)
The latter sometimes called "Visual Fred" to make that clear.
VB.Net should just have been different syntax for C#. Done with the same compiler. So almost exactly the same, mixable in assemblies. Not something thought of as substantially different. Heck, you could even combine the syntax so that people could chose between End Ifs or the ugly {}s line by line. VB.Net is certainly not the same as traditional VB.
I actually do a lot of work in VBA for Excel. Microsoft cannot kill that because it is actua
Re: (Score:2)
So if VB itself dies off (the story makes it look like it'll take a long time), what about VBA? It has hasn't seem much development in recent years. Open/Libreoffice have a Basic for scripting, too, though not really equivalent to VBA (conversion can't be done on the fly, at least very well, if at all). But the true successor for both (as noted by Z00L00K below) is Python.
Re: This has happened before, and will happen agai (Score:3)
The true successor is Python if you like to code in that style.
There is still a place for visual basic (Score:2)
VisualBasic 6 was my favorite programming language (Score:5, Informative)
If we want the majority of people to be able to create their own programs, then we need to rethink Visual Basic 6. I understand that a large percentage of this audience won't sympathize with me here, but it opened programming up to a lot of people. My VB 6 professor would brag about the nice clicking-and dragging approach to programming. I don't see this going away. Imagine if you could create really creative programs on your cellphone just by clicking and dragging pieces of code, similar to Scratch or Blocky. I see a future where we have both approaches to programming... mainly because their are two distinct ways of thinking about this.
Re: (Score:2)
Re: Swift Playgrounds (Score:2)
Itâ(TM)s not really drag ân drop.
Swift Playgrounds are just an interactive game environment for swift development - like a REPL for many other environments. The difference is you can build full solutions and take advantage of the other libraries.
Itâ(TM)s forgiving and, as such, easy for beginners to use and learn the language.
Re: (Score:3)
The problem is VB6 as a language has a fuckton of problems and might as well encourage bad programming practices. Classes are half-assed. They don't have valid constructors. You cannot make child classes. There is no concept of virtual classes, no interfaces and no abstract classes. String usage encourages you to just keep concatenating, inflaming memory bandwidth, and has no standard library "StringBuilder". (It can be made, as the Mid$ function can act as something of a pointer, but a beginner programmer
Re: (Score:2)
I can tell that you too have had to debug some lazy asshat's code where they used On Error Move Next without any error handling.
Re:VisualBasic 6 was my favorite programming langu (Score:4, Funny)
No. The fun one was when someone put a database transaction locked inside a message box.
Re: (Score:2)
So you're saying it's a lot like JavaScript? Sadly, JS became the new teaching language, and has a similar litany of problems.
I just don't get it - it's no harder to learn or program in C#. Anyone who is ever going to learn to program will get the hang of curly braces instead of BEGIN and END. The syntax is not the hard part of programming, but the need to properly organize your thoughts.
Re: (Score:1, Troll)
> VB 6 professor
this should not exist.
Re: (Score:2)
While I admire your optimism it's like trying to build a kitchen machine that'll turn me into a chef. I'm maybe one notch above microwave dinners but there's really no way that's happening other than for the machine to effectively do it for me. A bit of self-service is practical just like I can cook my own meals, that's useful but not really comparable to a professional service. It's still going to be GIGO, Garbage In Garbage out not Garbage In Gold Out.
NeXTSTEP called... (Score:4, Insightful)
NeXTSTEP called; it wants its 1994 developer tools back.
PS: Is Apple jettisoning ObjectiveC [slashdot.org] any different than MSFT jettisoning VB [or even C#]?
Personally, I think these corporations are insane to turn their backs on billions [trillions? quadrillions?] of lines of legacy code, but I guess that's why we have Bidness Skrewls & Bidness Professors & MBAs - so that somebody can grow up to shit all over any possibly elegant & diplomatic & thoughtful & backwards-compatible solutions to problems which don't even actually exist.
Re: (Score:3)
VB6 was a great language in its day, yes! I think we all have fond memories of our first "real" language. But I have to say, I do NOT want to go back to the "good old days." There was so much drudge work you had to do yourself in VB6, compared to today's C#. Not to mention, VB required a lot more typing than C#.
Re: (Score:2)
A lot of the focus has moved towards apps being data driven, with the UI created directly from data. There are also issues like the need for proper scaling and DPI awareness that make simple drag/drop UI building a bit of a relic now.
I've come over to this way of thinking, building a UI from data. For example I recently build a configuration app for an embedded system. Started by modelling all the configuration data and then wrote some code that simply looks at the structure of the data and creates a UI for
Re: (Score:2)
Please, no! Making every shlub with an idea think he was a programmer was the worst thing about VB. Knowing a language syntax and API is the *least* part of programming. Those people almost invariably produce nothing but unmaintainable trash that barely even works for its initial purpose.
NO, NO, NO! Stop with this idiot idea that everyone should be able to program! That's like saying everyone should be able to be an electrical engineer!
Python is the new VB (Score:3, Interesting)
Re: (Score:1)
I do us Python. That is what I transitioned to.... It isn't the same. I am hopeful that Blockly gets better. If we want people to be able to program using AR headsets, and share their code in 3D/virtual environments, then the nuances of text based coding will need to relax.
Re: (Score:3)
Python's lack of variable type declaration and checking makes it bothersome to use**** and Python has no IDE available that even comes close to the drag-and-drop UI designer that VB has.
(GUI coding for any PC language should all be mouse-clicks by now; there is generally no reason to be hand-coding that stuff at all... -And the arguments for hand-coding anything else are getting thinner and thinner...)
Another not-insignificant advantage was
Re: (Score:2)
So it will be discontinued next?
One can hope.
Re: (Score:1)
Start using Python 3
Sounds good. Don't mean to put you on the spot - How do I use that in Excel? That's the only place I use VB.
Switch to google online spreadsheet entirely?
Visual Basic was a good RAD (Score:2)
And also a good tool for people who are not programmers, but want to get $h!t done.
You could even get stuff programmed in VBA, and port it to VB6!
The last visual basic was visual basic 6. Visual basic.NET was visual basic only in name.
The problem with Visual Basic was when programmers and non-programmers tried to overreach with the language, instead of getting better tools, but then, that may happen with "any" language (see Linus' oppinions on C++ in the Kernel for just one of many examples)
Microsoft has ke
Re: (Score:2)
Agreed. I worked with both VB6 and VB.NET about 15 years ago and the similarities were only cosmetic.
VB6 was primarily a RAD tool where the main selling point was dragging and dropping stuff to make a GUI. The actual programming or things like code organization/maintenance were secondary concerns to just getting shit done quickly. Just like most RAD tools it didn't scale at all but it was great for small programs with some user input.
VB.NET was a weird beast that is hard to justify or explain. C# was design
Too much typing (Score:2)
VB was, in many ways, the successor to Cobol. Cobol tried to be English-like, and in the process sacrificed conciseness. VB makes the same trade, though to a lesser extreme.
Personally, I don't want to type that much to get something done!
VB is better syntax than C* (Score:2)
Count up all those ";"s you type at the end of every statement and you'll find that VB is more concise. You are also just use to typing ()s around if conditions. And End Ifs make it very easy to find mismached {}s which can occasionally be very nasty in C*. (dim is a bit of a worry though!)
BASIC for Linux (Score:2)
There are a few BASICs for Linux, including a not-ready-for-prime-time never-quite-finished clone of Visual Basic. See also FreeBasic and Vintage Basic. Nothing integrated with gcc, though. Then, would in not be possible to run an older copy of VB in Wine or under Mono? For more, see Wikipedia of course: https://en.wikipedia.org/wiki/... [wikipedia.org]
um (Score:2)
and many fans of classic VB simply giving up on the more complex but powerful .NET versions of the environment.
I'll grant the unneeded extra complexity of .NET, but that's obviously present in C# as well.
No, the only reason a "fan" would give up on VB is that MS treats it like a red-headed step child for the last decade or more.
I don't understand MS decision (Score:1)
Long since moved on from VB, BUT... (Score:2)
The fact of the matter is that it costs a fuckton of money to rewrite any significant business application. If I ruled the software world, I would mandate that ANY language be automatically upgradable in a way that actually works. How many *billions* would have been saved if the VB6 crowd could have upgraded to VB.net and/or C# with a one button click. How many millions of person hours of productivity would have been saved with winforms - > webforms - > ASP xxxxx, converter or a winforms - > wpf c
meh. (Score:2)
It's VBA that has to live forever (Score:2)
I gave up on VB as a standalone programming language when I spent months writing a nice little application in VB3, and VB4 wouldn't port it, wouldn't help me convert to it, the whole project was finally lost. I figured, "why go through this again when they move to the next language?" It was the late 90s, never been back.
But some years later, I got it through my head that VBA was a whole different critter that was deeply embedded in Excel. Between the fact that a spreadsheet IS a permanent, inherent us
And there was much rejoicing! (Score:2)
It is a horrible language. I have very strong negative feeling toward it. It is clumsy at best.