First blog from my new 64bit machine...
I got a new desktop machine at work… it is a 64 bit machine from running Windows XP x64 edition. It is very cool to see IntPtr.Size return 8 rather than 4! I must say, before I got it I was not convinced that the transition to 64bit would be a fast one for most of us… But after playing around with the machine and reading what AMD and Intel are up to, I’d guess that within a year or so most new workstations will ship with a 64bit processor and OS. Via WOW64, X64 chips from AMD and Intel can run 32 bit apps as fast (or faster) than many of today’s 32bit chips, and they do even better on x64 apps. So the transition seems inevitable.
In the next year or so we are likely to be in the world of heterogeneous platform architectures within the mainstream windows world. How does that affect you? Well, you’ll have to decide if you do a 32-bit, a 64 bit version of your apps or both… While WOW64 makes this easier (you can run 32bit apps on a 64bit OS), it does cause some issues in hosting scenarios as a given process must be either 64bit or 32bit. Take for example IE… If you are running the 64bit IE* then all the addins have to be 64 bit as well.. that is everything from the 3rd party toolbars (googles\MSNs, etc) to activex controls hosted in the browser (like the one from WindowsUpdate for example). So if you are writing an addin, you need to limit your audience or do both a 32 and 64 bit version…
Or (I am sure many of you saw this coming)… Or you write in managed code. IL is processor architecture agnostic which means the exact same binary can be loaded into a 64 or 32 bit process and work the same. So if the windows update activex control or the google toolbar where written in managed code they’d work in my 64bit IE, no problems. Of course if you PInvoke out, to unmanaged code it could get a little more complicated, but the spirit of this is that the managed code insolates you from this the 32 or 64bit transition.
If you are interested in moving forward with 64bit programming with the .NET Framework check out our MSDN site. VS 7.1 runs under the WOW64 so the bits you have today work great on 64bit… And with VS 2005 (“Whidbey”), you can run easily produce 32bit and 64bit agnostic apps.
Anyone else running 64bit OSs? What are your thoughts on getting 64bit versions of you apps out there?
*By default, the shell launches the 32 bit IE unless you explicit ask for the 64bit IE, which mitigates this issue somewhat, but there are plenty of other host applications…