3 ms·
> It was not possible to compile it with something different than Windows 2000 How does software get that bad?
by chrisseaton 4y ago
> It was not possible to compile it with something different than Windows 2000
How does software get that bad?
- bombcar 4y agoWindows 2000 was a major platform for 5+ years, so if you have a development environment on it and never moved it elsewhere, there will be lots of assumptions built-in. As the OP mentioned they didn't have _time_ to fix it; likely 80% of the problems are hard-coded paths and such that would be relatively easy to "fix" - but the other 20% may be dependencies on things that got deprecated/removed in later versions of the build environment, and updating would take quite a bit of work. This is one of the reasons that if you are trying to build cross-platform software (and Windows 2000/XP/98/Vista is cross platform, mind you) you should start building and testing on the various platforms early.
- chrisseaton 4y ago> if you are trying to build cross-platform software (and Windows 2000/XP/98/Vista is cross platform, mind you) you should start building and testing on the various platforms early. Yeah people tell me they're having problems migrating their Java 8 app to something modern and I can't understand why haven't they always been running all versions of Java in CI, including pre-releases, and just fixing the one thing a month that pops up as a problem. They can still run on Java 8, but they will know it's going to work fine everywhere, and if they find something that won't work in a future version they can engage the Java developers before they release it.
- bombcar 4y agoPeople do some of that, but Java 8 is in that weird state where it is Java for so many things that moving off of it can be incredibly hard. It took Mojang/Microsoft how many years to get Minecraft working on something that wasn't Java 8? And that doesn't even cover the changes in the versions of Java 8 itself that break things - one even had to be reverted IIRC.
- sitkack 4y agoThis is why you need runtime and compiler diversity in your cicd pipeline.
- chrisseaton 4y agoFrom the start.
- bombcar 4y agoAh but we do! We test on GraalVM and OpenJDK! (heh)
- szatkus 4y agoWell, you chose a weird point for that example, because Java 9 is where the most Java projects break.
- chrisseaton 4y agoI don't know what you mean - if that's the case why didn't they realise that in like 2015, 2016, when these Java 9 features were added? And why haven't they been able to fix them since then? I know about development realities, but seriously come on at some point?
- bombcar 4y agoBasically because Java 9 started fixing design issues, and they decided to keep Java 8 running forever.