Visual Basic - when to switch?
-
BryanFazekas wrote:
I have no idea where the OP is in his career,
The OP (me) has about 40 years. And I don't use any version of VB if I can avoid it. My choice is Java or C#. I was just posting because I found the subject interesting.
Regardless of the language(s) involved, application replacement is a good topic for discussion. As I said, management typically doesn't want to spend on re-developing an application when there is time, but freaks when there isn't time and they did nothing to help the situation. A project I was on a while back was replacing an ancient application that relied on old tech. Everyone (customer, management, dev teams) dragged their feet on putting the new system in production, until key tech the old application required was dropping support. We completed the project in 3 months. It's amazing how a bit of heat, or maybe a raging bonfire, can motivate people. :laugh: Personally, I'd have no problem developing in VB again. Prior to VB, I mostly used C and Hypercard (Mac folks may remember that one), and a handful of other languages. VB was fantastic for productivity in creating desktop applications, far better than anything on the market at that time. Honestly, it's better in that venue than anything I've worked with in the last 10 years. When the only tool ya have is a hammer, everything looks like a nail. That's the case for OO, Agile, RAD (yeah, I'm as old as the OP), and every other paradigm. Before someone mentions "VB has GOTO" ... C# has GOTO and Java originally did (AFAIK, it's just a reserved word now). Bad code can be written in any language, and I've seen more in C# and Java than I have in VB. A lot depends on one's POV. My job is not to write code. My job is to solve business problems, regardless of methodology or tools. Food for thought.
-
Yes, you are correct. My comment was based on MS saying they would continue to support VB6 until..... VB6 is not supported 'as is' on current OSes. After adding in missing support modules in the build and installation process, applications could run for the most part on Windows 10. Some clients complain that the code does not work on Windows 11, but I don't have a Windows 11 system to test it on. I use Visual Installer to build my install files and asked them to test an install on Windows 11. They said it installed fine, so I don't know why one client had a problem. Another technical problem is that before Windows 10, you could get the full path to an executable by going to the registry entry "HKLM\software\microsoft\windows\currentversion\app paths\" where is the file name of the application, like "Outlook", for example. Not anymore!
LucidDev wrote:
you could get the full path to an executable by going to the registry entry
No that is not true as stated. If you 'installed' it then it was true. And apps specific to Windows itself were all installed so they would show up there. Well at least once that really started to be used. Not sure how that wouldn't still be true because I think that is needed for the 'uninstall' to work from the Programs applet. Perhaps they moved it. I just checked on Windows 10 and I see Outlook is still there. Since individual components would independent maybe they have moved some but not others.
-
LucidDev wrote:
you could get the full path to an executable by going to the registry entry
No that is not true as stated. If you 'installed' it then it was true. And apps specific to Windows itself were all installed so they would show up there. Well at least once that really started to be used. Not sure how that wouldn't still be true because I think that is needed for the 'uninstall' to work from the Programs applet. Perhaps they moved it. I just checked on Windows 10 and I see Outlook is still there. Since individual components would independent maybe they have moved some but not others.
In Windows 10, all of the installed applications are located in this registry key: "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store\" Unfortunately, I have not been successful in searching or storing the data to search for the application I am looking for. One of the suggested solutions was, as you imply, is to look for uninstall information. Unfortunately, not all applications can be located using this method. My point is that MS said that VB6 would continue to be supported, but they keep changing the OS making that impossible. If you happen to have code that can read the referenced key into an array, I would appreciate seeing it! Thanks.
-
In Windows 10, all of the installed applications are located in this registry key: "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store\" Unfortunately, I have not been successful in searching or storing the data to search for the application I am looking for. One of the suggested solutions was, as you imply, is to look for uninstall information. Unfortunately, not all applications can be located using this method. My point is that MS said that VB6 would continue to be supported, but they keep changing the OS making that impossible. If you happen to have code that can read the referenced key into an array, I would appreciate seeing it! Thanks.
Ah...I was thinking you meant it was being kept is some completely different storage mechanism. At any rate for any new major OS version you must always fully regression test it. And then adjust for differences. Maybe VB was hiding that at some point but perhaps more likely is that the dependencies you had your app(s) just didn't move between major versions for a while. So you got lucky. Now they moved so you must adjust.