It’s not poorly written software if it’s is old. Likewise the y2k bug is often declared as bad programming, but at the time the software with the y2k bug was written memory was measured in kilobytes and a lot of accounting software and banking software was written in a time when 64k was the norm. Oh, and I’ll tell you now I know of at least some accounting software that is based on code written for the 8088 and has been wrapped and cross compiled so many times now it’s unrecognisable. But I know that 40 year old code is still there.
So 2 digits for year was best practice at the time and at the time software vulnerable to the 2038 bug 32bit epoch dates was the best practice.
Now, software written today doing the same, could of course be considered bad, but it’s not a good blanket statement.
I mean, Ghost Recon Wildlands which came out in 2017 for example has save dates written as a 32-bit date so it’s prone to the 2038 bug, I set the date to 2040 and tested a bunch of software and while you can save the date overflows and shows as 1969. I bet there are still people using 32-bit dates even if unintentionally.
I mean, technically you could use unsigned 32bit if you don’t need to handle dates before 1970. But yes, the best course of action now is to use 64bits. The cost is pretty much nothing on modern systems.
I’m just cautious of people judging software from a time with different constraints and expectations, with the current yardstick.
I also wonder what the problem will be. People playing ghost recon in 2038 are going to be “retro” gaming it. There should be an expectation of such problems. Would it prevent you loading or saving the file is the question?
Nope, saving and loading works on that game (and pretty much every other game I tested), it’s just you lose the date display in-game so you don’t know when you really last saved.