<<<<<<<<<<<()>>>>>>>>>>
LOL.
I guess you never wrote any ATM assembler code then..... Did you know that when I assemble the ATM code the Assembler crashed during assembly because the symbol table was overrun? That is how big the ATM code was. I know all about complex code and stupid coders and systems analysts who couldn't find their butthole from their nosehole. Especially those that designed a system that only a 18-wheeler engine could pull but did not understand that the compmay computer was the equivalent of a 4cyl Beetle engine.... Sorry, I digress.
The point is, you seem to accept that complex games have a valid reason to crash.... a valid excuse. My point is no matter the complexity, crashes are never acceptable.... never.
I wonder, if NASA were to hire programmers for their Orbital Systems. which attitude do you think they accept?
I'm guessing that ATMs are generally a fixed hardware environment - if you're building Assembly code then that's low-level, talk to the hardware stuff; which means it's a pretty fixed architecture? (not the case in the UK as far as I can tell since I've seen an ATM with a BSOD - yes, it was running Windows)
Games are generally a horrendous muddle of application code built on engine code built on OS interface code built on hardware interface code... all built and maintained by different companies. Few of which have reliability as their core tenet; better lighting, better particle physics, pushing around more tris and so on. They might all run on the same underlying x86/x64 architecture but the people who write the games aren't programming for that, they're programming for the engine. The people that write the engine are programming for the OS/GPU driver hooks. It's not until you get to the OS that someone is actually writing for the hardware.
So yes, I agree that crashes shouldn't happen but I can see why they do... and why they're more likely in entertainment software, built on tight deadlines, than say business critical applications. Different industries, different priorities.