5 ms·
I have said this before but here I go again: the company I work for is still maintaining a program written in 1999 in Visual Basic 6.0 nearly unchanged on Windo
by foepys 6y ago
I have said this before but here I go again: the company I work for is still maintaining a program written in 1999 in Visual Basic 6.0 nearly unchanged on Windows in 32bit.
Windows is the perfect platform for us because it makes our applications so much less expensive to develop. We are a profitable company with hundreds of B2B customers and thousands of users that deploy on their own hardware and we can deliver our software without Docker or anything because the application just runs on any Windows version since XP. It's basically write and forget (apart from a few hickups here and there when Windows Update accidentally breakes something).
We have been working for years to replace parts of the VB6 application with modern .NET libraries and while this is unsupported by Microsoft, it's still working. The VB application hosts the modern .NET libraries and integrates its functionalities and new functionality is exclusively developed in .NET. Our development speed is not impacted by deprecated APIs that we have to urgently address. We can take our time to improve things without our customers noticing.
If we were supporting macOS, we would have shut down a long time ago. It would've been impossible for us to keep up with yearly macOS API changes and to add new features at the same time.
- no_wizard 6y agoI feel like this is a security nightmare. How do you handle that consideration?
- foepys 6y agoEverything is running in firewalled environments. Literally nothing written in VB6 is publicly accessible. We are using .NET since the release of .NET Framework 2.0 and only very old code is VB6.
- kortilla 6y agoCan anything that lives in that firewalled environment reach out to the internet or have stuff reach in? If so, it’s only a matter of time before something gets popped and it’s a bastion to access everything else behind the firewall. This isn’t even nation state level attacks, it’s pretty standard behavior for botnets and ransomware.
- Dylan16807 6y agoIs the scenario here that they're already compromised with a relay between outside and inside that doesn't need the VB6 app, and then they can compromise the VB6? Extra malicious hosts are never great but this isn't exactly a dealbreaker.
- spijdar 6y agoI think the comparison is a little non-sequitur. Classic visual basic hasn't had a feature released since 1998 and supported ended in 2005 (with extended in 2008). It's not a part of Windows itself per se, but a runtime environment. Couldn't you just as well have written an app in Java, which has also kept good backwards compatibility and could still be run on both Windows and MacOS with minimal changes?
- JohnTHaller 6y agoWindows maintains backwards compatibility to an amazing level compared to Macs. If there were a version of Visual Basic for Mac released alongside the Windows version back in 1998, it would have been a classic Mac app which Apple dropped support for after Mac OS 10.4 and never had on Intel-based Macs. If Microsoft had updated this theoretical Visual Basic for Intel-based Macs running Mac OS X back in 2008, Apple would have dropped support for it with Catalina, which ditched 32-bit app support. What you're hoping for just wouldn't have worked except for a runtime that was still being supported by the publisher to make the jump from Mac Classic to OS X and then again from 32-bit to 64-bit as Apple broke backwards compatibility. If Microsoft had somehow brought Mac VB out of retirement twice and done both of the above, Apple would be dropping support for it again a few years from now when they drop Rosetta and only support M1-based apps on Mac OS.
- pjmlp 6y agoHere is a more modern example, after acknowledging that WinRT hasn't been the success they wanted, and starting the Reunion project to merge Win32 and UWP worlds, they are still running them in parallel and it will take several years to fix 8 years of doubling down on WinRT in detriment of Win32, but they will eventually get there even if the ride isn't as smooth as it should be (like killing C++/CX). However until then, UWP apps will keep running.
- II2II 6y agoVB6 is a good demonstration of the point being made. Even though development stopped two decades ago and support ended a decade ago, they can continue to use it. They probably didn't anticipate development of VB being dropped so soon, but Microsoft had (and continues to have) a history of maintaining backward compatibility. While dropping support for VB would have had negative consequences and using Java may have been better, we only know that in hindsight. Java was about half the age of VB at that point in time, it's most vocal advocates seemed to be more interested in cutting Microsoft down to size, while it had a mixed reception among both developers and end users. None of those qualities bode well in the long term, especially from the perspective of those invested in Microsoft technologies.
- wwweston 6y agoBackward compatibility is heavily underrated. Windows isn’t my favorite experience in some ways but I’m starting to realize just how compelling a long-running consistent execution environment really is after losing enough mac software to time.
- Osiris 6y agoMy side project is a Windows application I started writing on Windows XP. I had to make a grand total of 0 changes to the app to support Windows 7, Vista, and 10. It will still run on anything from XP to Windows 10.
- llacb47 6y agoSounds like you've been working on this side project for a while