Visual Basic - when to switch?
-
Support policy for Visual Basic Support Statement for Visual Basic 6.0 | Microsoft Learn[^] Now as I read that it means that although they are not going to be improving VB they do intend, at least now, to make sure it runs until 2035 (presuming same life cycle for Windows 11 as was for Windows 10). But perhaps not beyond that. So people have those VB apps now so when do they really need to start refactoring the entire code base into something else? Start now and avoid the rush? Wait until 2034? Wait until 2037 and when enough customers move onto a different provider because they don't want to run an older unsupported OS?
Those who haven't switched yet are prolly not ever going to. Personally, I stopped doing anything VB6 years ago and I'm not touching it again.
Bastard Programmer from Hell :suss: "If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
-
The software that controls Nestlè inspection machines was first written in 1996 in QBASIC, then ported to VB in 2000 and it is running today.
GCS/GE d--(d) s-/+ a C+++ U+++ P-- L+@ E-- W+++ N+ o+ K- w+++ O? M-- V? PS+ PE Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
-
Support policy for Visual Basic Support Statement for Visual Basic 6.0 | Microsoft Learn[^] Now as I read that it means that although they are not going to be improving VB they do intend, at least now, to make sure it runs until 2035 (presuming same life cycle for Windows 11 as was for Windows 10). But perhaps not beyond that. So people have those VB apps now so when do they really need to start refactoring the entire code base into something else? Start now and avoid the rush? Wait until 2034? Wait until 2037 and when enough customers move onto a different provider because they don't want to run an older unsupported OS?
A few things, among several, factor into that decision. 1 - MS has a history of bringing .NET changes to C# first, VB second. Bill Gates was the driving force behind keeping VB at equity with C#, and he is long gone. 2 - More .NET developers use C# than VB, so MS markets to the larger customer base first. 3 - VB easily converts to C# with tools that take VB to MSIL and the MSIL to C#. 4 - Too many classic VB programmers ignored MS in the late 90s to use VB6 for object oriented programming instead of the older procedural programming that became obsolete by the time VB5 came out. Converting/refactoring procedural VB6 to OO VB takes as much effort as converting/refactoring procedural VB6 to OO C#, so many chose the latter. If your context is converting/refactoring VB6 to .NET, start now. There is so much more available in .NET 7 than there was in VB6. Refactoring will take time to make the business rules and UI implemented in VB6 to an efficient design in .NET.
-
Support policy for Visual Basic Support Statement for Visual Basic 6.0 | Microsoft Learn[^] Now as I read that it means that although they are not going to be improving VB they do intend, at least now, to make sure it runs until 2035 (presuming same life cycle for Windows 11 as was for Windows 10). But perhaps not beyond that. So people have those VB apps now so when do they really need to start refactoring the entire code base into something else? Start now and avoid the rush? Wait until 2034? Wait until 2037 and when enough customers move onto a different provider because they don't want to run an older unsupported OS?
For VB6, you might want to look at the RADBasic project[^] or the TwinBasic project[^]. For VB.Net, you could look at Remobjects Mercury[^]
We marveled at our own magnificence as we gave birth to AI.
-
Support policy for Visual Basic Support Statement for Visual Basic 6.0 | Microsoft Learn[^] Now as I read that it means that although they are not going to be improving VB they do intend, at least now, to make sure it runs until 2035 (presuming same life cycle for Windows 11 as was for Windows 10). But perhaps not beyond that. So people have those VB apps now so when do they really need to start refactoring the entire code base into something else? Start now and avoid the rush? Wait until 2034? Wait until 2037 and when enough customers move onto a different provider because they don't want to run an older unsupported OS?
When to switch? I'd start now. Nothing ever goes as planned, so figuring things out now, well ahead of a complete drop in support, is the wiser choice. I have no idea where the OP is in his career, but any newer language is a more marketable skill, so starting now also adds to the resume. What to switch to? I was a VB developer (among other languages) from 1993 to 2003. At that point there was still a lot of 3rd party support for VB6, but without MS support it was a dead language. Yeah, obviously as dead as COBOL, but as an IT consultant, I had to focus on marketable skills, and VB was no longer "it". The obvious jump-to was VB.NET, but within a few months I formed the opinion that MS made VB.NET primarily to keep the VB5/6 developer base from jumping ship. VB.NET didn't get the same support and was not graining traction in market share. Next I investigated C#, and that has been my primary platform since then. It's the MS flagship for programming languages, gets the support, and has a viable future. Market share of the tool matters greatly to ensure continued employment, and C# is ranked 5 or 6 in most surveys. From the OP's POV? C# is going to be the easiest path. The environment is similar enough and C# has enough similarities in structure that the learning curve should not be too steep. Jumping from procedural to OO can be a difficult jump. VB6 has some OO, and if the OP has been using classes, the leap may not be a long one.
-
Support policy for Visual Basic Support Statement for Visual Basic 6.0 | Microsoft Learn[^] Now as I read that it means that although they are not going to be improving VB they do intend, at least now, to make sure it runs until 2035 (presuming same life cycle for Windows 11 as was for Windows 10). But perhaps not beyond that. So people have those VB apps now so when do they really need to start refactoring the entire code base into something else? Start now and avoid the rush? Wait until 2034? Wait until 2037 and when enough customers move onto a different provider because they don't want to run an older unsupported OS?
-
Some Cobol programs have been running since Moses left Egypt.
PartsBin an Electronics Part Organizer - An updated version available! JaxCoder.com Latest Article: ARM Tutorial Part 1 Clocks
And they still haven't found his luggage.
-
I counted 16 replies to the question of wich I se only two that tried to seiously anwer. I this the normal level of seriousness in this forum?
This is the way.
-
Visual Basic - When to Switch? 30 years ago.
PartsBin an Electronics Part Organizer - An updated version available! JaxCoder.com Latest Article: ARM Tutorial Part 1 Clocks
Why? To be one of the "cool kids"? confused: To be part of the "In-Crowd"? confused: To be "just like everybody else?": confused: How many people back into parking spots because the see other people doing it? confused: I guess haters going to hate.
Very Old Guy.
-
Support policy for Visual Basic Support Statement for Visual Basic 6.0 | Microsoft Learn[^] Now as I read that it means that although they are not going to be improving VB they do intend, at least now, to make sure it runs until 2035 (presuming same life cycle for Windows 11 as was for Windows 10). But perhaps not beyond that. So people have those VB apps now so when do they really need to start refactoring the entire code base into something else? Start now and avoid the rush? Wait until 2034? Wait until 2037 and when enough customers move onto a different provider because they don't want to run an older unsupported OS?
never switch. VB Classic was right only now in C# you can write code without
XYZ partial class App public static void main SubscriberMethodController... cough cough
Starting in C# 9, you don't have to explicitly include a Main method in a console application project. Instead, you can use the top-level statements feature to minimize the code you have to write. In this case, the compiler generates a class and Main method entry point for the application. guess what, we had that since VB 1.0, any language had that, the compiler behind the scenes generated the _app & _main. i wonder when they are going to get rid ofnew
in C#, since the instances of a class are not created on the stack anyway... VB Classic will outlive VB .NET. if not, waiting for the shameful M$ narrative when they bring back the apparent syntax of VB to VB.NET those who put *class* in JavaScript are the same who put *var* in C# -
Support policy for Visual Basic Support Statement for Visual Basic 6.0 | Microsoft Learn[^] Now as I read that it means that although they are not going to be improving VB they do intend, at least now, to make sure it runs until 2035 (presuming same life cycle for Windows 11 as was for Windows 10). But perhaps not beyond that. So people have those VB apps now so when do they really need to start refactoring the entire code base into something else? Start now and avoid the rush? Wait until 2034? Wait until 2037 and when enough customers move onto a different provider because they don't want to run an older unsupported OS?
-
Correct. I should've specified desktop programs.
"If we don't change direction, we'll end up where we're going"
-
Support policy for Visual Basic Support Statement for Visual Basic 6.0 | Microsoft Learn[^] Now as I read that it means that although they are not going to be improving VB they do intend, at least now, to make sure it runs until 2035 (presuming same life cycle for Windows 11 as was for Windows 10). But perhaps not beyond that. So people have those VB apps now so when do they really need to start refactoring the entire code base into something else? Start now and avoid the rush? Wait until 2034? Wait until 2037 and when enough customers move onto a different provider because they don't want to run an older unsupported OS?
As I see it VB6 is the same as visual basic for applications. So as long as they are going to support VBA it seems logical Microsoft will have to support VB6. My concern is that the Microsoft people are not merging VB.net nominclature with C#. They share the same code base now, so why not upgrade the editor to handle both syntax in one environment. That way there would never be a need to retire either one. Computers are powerful enough to support that structure now which may not have been the case years ago. I prefer personally "if then ....... end if" for tracing purposes over the c# equivalent which ends everything with a }. Nested loops with everything sharing the same ending are much more difficult to debug. Thank you.
-
I counted 16 replies to the question of wich I se only two that tried to seiously anwer. I this the normal level of seriousness in this forum?
I counted 28 words in your comment, and 7 were not correctly written... is this the normal level of working keyboards at your end? :rolleyes: :laugh: Sorry... too tempting To answer you... The answers of "30 years ago" is for me totally serious. You can infer that the author thinks the OP should not "waste" any second more at all using it and move on to other languages. The fact that it got 10 upvotes means, that many other people (me, among them) agree with him. And for me it is a perfect serious answer, although it is written with humor.
M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you Rating helpful answers is nice, but saying thanks can be even nicer.
-
I totally agree with the above "30 years ago"... but an orthogonal take is: that is in one and a half decade. Do you think your prog will be relevant at all in 2037? I would say that rather few 15-year-old programs are relevant today (regardless of what language they were written in), unless they have a billion-head-userbase like Word, Excel and those... But let's say i am wrong, and your prog remains attractive? Then I say Q: When should I switch ? A: When it is the least painful, i.e. ASAP
"If we don't change direction, we'll end up where we're going"
I bet some of those programs will be relevant. It really depends on what they're supporting. I have one program that was originally developed in 1997 using FoxPro for DOS, migrated to MS-Access, and is now written in VB.Net using a SQL Server database for the back end. We still have data from 1997 in the database. The core functions of this program haven't changed since the original version in 1997.
-
Now. Even VB.NET is a low priority. I would jump to C# and Dot Net 7.0+.
Graeme
"I fear not the man who has practiced ten thousand kicks one time, but I fear the man that has practiced one kick ten thousand times!" - Bruce Lee
-
Please recommend where to switch to. :laugh:
-
Why? To be one of the "cool kids"? confused: To be part of the "In-Crowd"? confused: To be "just like everybody else?": confused: How many people back into parking spots because the see other people doing it? confused: I guess haters going to hate.
Very Old Guy.
-
I switched to backing in. In the old days, when there was some courtesy, you could back out of a parking spot slowly and people would let you out. Parking lots these days are NASCAR test tracks, it would seem. Heavy sigh.
I understand. I still pull in and back out, but I have excellent car insurance, and a great attorney. :-D Yours is a great reason for backing in, and I appreciate you feelings. Be safe, take care.
Ed
-
I totally agree with the above "30 years ago"... but an orthogonal take is: that is in one and a half decade. Do you think your prog will be relevant at all in 2037? I would say that rather few 15-year-old programs are relevant today (regardless of what language they were written in), unless they have a billion-head-userbase like Word, Excel and those... But let's say i am wrong, and your prog remains attractive? Then I say Q: When should I switch ? A: When it is the least painful, i.e. ASAP
"If we don't change direction, we'll end up where we're going"
It depends upon the business you're in. I designed/programmed firmware for telecom equipment (hardware on a 911 call takers desk). It had a minimum life time requirement of 10 years. Heck, one of our customers requested (and got) a firmware change to a product that was over 16 years old.