I work for a tech company in Taiwan. The factory downstairs is making microSD cards. I write some driver software to talk to the machines, sending commands using SECS-II and getting the machines to log data to a SQL server.<p>The testing machines still run Windows 2000.<p>There is no SQL library for Visual C++ 5. I couldn't use the .NET framework, or any other libraries - everything running on the testing machine had to be bundled into a single .exe file.<p>Why not update? The testing machine was built by another company, and sold with a 20-year warranty. Updating Windows, or even installing software would void the warranty.<p>My program was designed to be easily deleted in case of an audit.<p>These machines were on their own LAN with no Internet access, thankfully. I've realised that for my software to endure, I should write it standalone, without needing libraries, and in a very common language that is likely to still be around for a while (C, JavaScript, Bash). The code is more verbose, but that puts the burden on the developer (me) instead of the user, who is more likely to make really dodgy workarounds than file a bug report.