|Well, let's put it this way. Microsoft dropped Win16 support with the move to 64-bit. With that in mind, let's look at how that played out.|
Let's assume by 16-bit, you're referring to Windows 3.0. Win3.1 was backward compatible with 3.0, which in turn was the target for backwards compatibility in Win95+. So, any Windows application written after 1990.
Let's assume by 64-bit, you're referring to IA-64, the first 64-bit processor to be supported by MS. First supported in WinXP, released in 2001. That's 11-years of backwards compatibility. What are you writing that needs to survive a decade? If we throw in when 64-bit became popular, (Win7, released 2009) you're looking at almost 2 decades of backwards compatibility.
Granted, this is a naive view. Most Win16 apps fell on the wayside either because they didn't fall in-line with the new Win32 look, or because they interacted with a Windows subsystem that was either removed or changed so much that it became unrecognizable. Ignoring the Modern UI, current Win64 looks like Win32, so you currently don't gain any advantage there. If you don't ignore WinRT, then your app needs to be compatible with WinRT (not to be confused with WinRT), so you're limited to 32-bits.
Microsoft labeled the Desktop the legacy environment, to be phased out for Windows Modern (formally Metro). While MS appears to be backtracking as hard as they can, there is a lesson to be learned. You'll sooner have the Desktop rug ripped out from under you than the 32-bit emulation.
Foregoing all that, "everyone" will tell you we're moving to a cloud and phone/tablet model like it's the 1970's. That means if you want to write software that'll stand the test of time, you should be looking at Android and Linux. I'm not seeing this myself, but I'd be doing you a disservice if I didn't provide a warning.
Let me finish off this wall of text by saying there are legit and good reasons to move to x64, but don't worry about forward compatibility. Trust me, every practicing programmer looks at their old stuff and cringes, so try not to worry about it.
tl;dr: x86-64 will be around for a long time. In fact, we're not even using all 64 pins yet.
ijack: A decent compiler will produce notably more efficient code in 64-bit mode.
I suppose? Modern practices love to break everything up into recursive calls and tiny functions, but how often do you find yourself CPU bound?
How To Ask Questions The Smart Way
message edited by Razor2.3