So the Steam client will have to be updated to 64-bit before 2038.
Not really. 32-bit apps can use 64-bit values.
So this is only a problem for 32-bit apps on 32-bit processors?
No, those can have 64 bit value as well, this is only a problem for applications which haven’t switched to using them.
It’s a problem with the internal represensation of a C/C++ type alias called
time_t
, mostly. That’s the thing that holds the number of elapsed seconds since midnight on Jan. 1, 1970, which is the most common low-level representation of date and time on computers. In theory,time_t
could point to a 32-bit type even on a 64-bit system, but I don’t think anyone’s actually dumb enough to do that. It affects more than C/C++ code because most programming languages end up calling C libraries once you go down enough levels.In other words, there’s no way you can tell whether a given application is affected or not unless you’re aware of the code details, regardless of the bitness of the program and the processor it’s running on.
I don’t think anyone’s actually dumb enough to do that
Never underestimate human stupidity.
A 64-bit signed integer can represent timestamps far into the future—roughly 292 billion years in fact, which should cover us until well after the heat death of the universe. Until we discover a solution for that fundamental physical limit, we should be fine.
Come on now, heat death will take far more than 10¹⁰⁰ years, not just 3x10¹¹. It’s not the point of the article but get your facts right.
I’m not too worried about the year 2038 problem. I suspect it will be similar to Y2K, with a bit of overhyped panic, but with most stuff being patched beforehand to avoid issues.
Y2K wasn’t overhyped. It was just successfully planned for. This reeks of the paradox of IT. “Everything is broken, what do you even do” vs “nothing is broken, what do you even do?”
The problem doesn’t concern me as much at how bad we’ve become at maintaining shit that already works.
There is also the fact that during Y2K, we didn’t have as much reliance on computers.
There was also a worldwide effort to fix any potential problems before they happened.
Cobol mavens burned both ends of the candle and made bank, while making banks work.
Many were old enough to retire after that.
Issue 2038 will be easier to fix because many systems are already 64-bit, as 32-bit systems could only handle 4 GB of RAM, and programs need more RAM.
The only issue would be critical issues that run on 32-bit systems and must be fixed before that date.
32-bit systems could only handle 4 GB of RAM
I don’t understand why people always say that. Pentium Pro could handle 64 GB even though it was a 32 bit CPU. It had a 36 bit address bus. Later models are the same.
People say it because it was a Windows limitation, not a computing limitation. Windows Server had support for more, but for consumers, it wasn’t easily doable. I believe there’s modern workarounds though. The real limit is how much memory a single application can address at any given time.