Fog Creek Software
Discussion Board

When Will the 'Sunset' of Win32 Happen?

Just curious if MS has an official position on this or if anyone has a SWAG based on known facts.  Does anyone care to pin a specific year on this event?

My definition of 'sunset' in this context is - an API being termed "deprecated" (or words to that effect) because it is unable to take full advantage of the currently popular OS or hardware.

Example - Win16's "sunset" period commenced with the release of Windows 95.  Yes, developers knew well in advance that Win16 was on the way out, but nothing on the desktop that was widely available could use the next big thing (Win32) until the actual release of Win95.

PS: I know my definitions will themselves create a firestorm of controversy... as though posing a question was an act of war.

Bored Bystander
Wednesday, November 19, 2003

I can't image the Windows API itself ever going away (taken away from programmers).  In fact I hope it never does.  It enables you to do some really neat things.  As far as Win32, I believe it may subside on the dawn of the 64 bit processor generation and their dissemination onto the desktop.  After all the Windows API is an interface to the hardware (among other things).  What will it be called?  Win64 of course. (I'm just speculating.) (In fact I would say that the API is a necessity that can never be thrown out because it is a layer of abstraction in and of itself.  Just think how many applications or the components that comprise those applications make use of it.)

Dave B.
Wednesday, November 19, 2003

Surely it's not scheduled for death any time soon. 

How am I going to interact with hardware? 

Wednesday, November 19, 2003

For context, what I've read on this subject indicates that .Net is intended to be the system API in "some" future time.

Right now the CLR is implemented as a runtime library, but in the future it *will* be the system API and Win32 support will be via a runtime library - the opposite situation that we have today.  Or at least this is the understand I've taken.

I've never bought this notion. And perhaps it's just marketspeak and impractical anyway. It would be like Intel saying that x86 instructions are going away and all processors will execute bytecode natively.

Another possibility will be that Win32 native applications will be available and Win32 will still exist as it does today, but only available for use by administrator permission. IE, the default user permission will be to run CLR based and "managed" Win32 applications only.

I agree, it sounds nuts.


Bored Bystander
Wednesday, November 19, 2003

I don't see it happening.  The CLR isn't even close to being an API in fact it uses and is based on the Win32 API.  As for having to have administrative privilieges to run a Win32 app... well that's crazy.  I don't think QuarkXPress, InDesign, Photoshop or any complex application can be written in managed code (C# or VB.NET).  You need the lower level API calls to make these applications happen.  So if I wanna run InDesign I have to be administrator? Don't think that would go over very well.

Dave B.
Wednesday, November 19, 2003

The day after we switch to IPv6

Matthew Lock
Wednesday, November 19, 2003

But the plan is come longhorn that every single one of those "lower level API calls" we be possible from .NET - they'll all be wrapped.

Infact they're suggesting that the only way to call some of the new APIs will be through managed code.

If this comes to pass, I expect that win32 will die as soon as Longhorn reaches critical mass.

Sum Dum Gai
Thursday, November 20, 2003

Win32 will always be around as backwords compatibility is the bread-and-butter of Microsoft.  They can't escape it.  If they gave up backwards compatibility, it would leave an opportunity for a new competitor on the desktop.  If people have to switch off their old apps anyways, why not look at the apps available on Linux as well?

However, it may be relegated to the unperforming, limited existance that 16-bit programming is today.  It'll run through a layer or 50 in a seperate virtual machine.  No new apps that need to take advantage of the performance of modern hardware will use it.

Yes, it will happen eventually.  Just as DirectX got good enough to kill direct-to-hardware game programming, managed code will get good enough to replace Win32 for doing any nitty-gritty work one might need to do.

Richard Ponton
Thursday, November 20, 2003

From Cringely's latest:

"It's particularly grim for the techiest among us because Longhorn -- Microsoft's next version of Windows -- is pretty dedicated to keeping us from doing anything non-boring with our PCs.  You can run apps or you can run apps.  This really ought to work in favor of Linux and other less-restrictive operating systems, at least among developers."

Interaction Architect
Thursday, November 20, 2003

Has cringely ever said anything that was worth reading?

Robert Moir
Thursday, November 20, 2003

Maybe they will ban WIN32 when they find something that

1) is recognized as THE ULTIMATE security model
2) solves dll hell problems.

my guess is that .net does almost manage to solve both problems,

in other words - the old problems are just taking a different form ...

Michael Moser
Thursday, November 20, 2003

Cringely is a paid troll.  He purposefully authors his articles to get an emotional response from the readers, even if he doesn't really believe what he is saying.  This helps him wind up on the front page of Slashdot and other similar community blog sites often, increasing his readership.

Like any troll, the best thing to do is just ignore him.

Mister Fancypants
Thursday, November 20, 2003

>>Cringely is a paid troll.

That can be said for about 70% of the media. IMHO

Eric DeBois
Thursday, November 20, 2003

Crigley has seemed to go off the deep end recently. I've stopped reading his columns.

Thursday, November 20, 2003

trolls commenting on trolls on JoS.  What will they think of next.

trolling for dollars
Thursday, November 20, 2003

> Cringely is a paid troll. 

He's primarily an entertainer, and that's what they do.

I read his column every week.

It's often bogus (the corporation to share MP3s comes to mind), but rarely dull.

Thursday, November 20, 2003

Will Longhorn still support Win16 apps? Probably. As mentioned above, I think the Win32 and Win16 APIs will exist. The transition to the CLR API has begun. Many new Longhorn features are ONLY accessible from CLR, but Longhorn is introducing new Win32 APIs.

How many Win16 APIs have been added since Windows 95? Once Microsoft releases an OS with ZERO new Win32 APIs, then you know Win32 is dead (or at least frozen so the Wine project can finally catch up).

Thursday, November 20, 2003

'It would be like Intel saying that x86 instructions are going away and all processors will execute bytecode natively. "

Aren't current x86 processors really RISC cores with an x86 front end?

Jim Rankin
Thursday, November 20, 2003

"Aren't current x86 processors really RISC cores with an x86 front end?"

Essentially yes.  However, most of the RISC looking instructions in x86 execute like they do on RISC machines.  The large (and mostly legacy) x86 instructions are broken into smaller RISC-like instructions and executed.

This is bit simplified because even RISC cores break instructions down into smaller parts to be executed.

I don't see x86 going anywhere anytime soon.  Our computers still boot into real-mode!!  It will be kept around forever for backwards compatibility but I assume at some point will switch to a closer-to-the-metal instruction set not a more abstract VM like instruction set.  Of course, the closer-to-the-metal instruction set will probably spend most of it's time executing byte codes.  (Think transmeta CPU's)

Almost Anonymous
Thursday, November 20, 2003

Cringley's column repeats a rumor (which has been floating around for over a year) that the XBox 2 processor will use MSIL as the native instruction set. 

I had assumed that since MS was useing the PowerPC architecture, it would have the same instruction set as other G5 processors.  Does this rumor have any substance -- would it be possible and practical to reconfigure the PPC to use an MSIL instruction set?

Robert Jacobson
Thursday, November 20, 2003

I can't see any reason to use MSIL as a native instruction format. The cost would be enormous, you'd have to do all sorts of funky caching to get metadata token lookup done efficiently, and there's already at least one JIT complier for IL -> PowerPC (Rotor runs on MacOS X).

I can see them making the CLR available as a toolset on the XBox no problem - it'd be great to have it. But as the native instruction set? Makes no sense.

Chris Tavares
Friday, November 21, 2003

*  Recent Topics

*  Fog Creek Home