views:

548

answers:

5

Duplicate:

I recently read a blog entry about someone asking for a good book on windows programming. He was disturbed by the fact that most books he found are about 10 years old and probably outdated (don't worry he found the usual suspects including Charles Petzold). Till today I was reluctant to post any comment on his site, because I simply am unable to answer him. Certainly Windows programming has changed since then and split in many different direction, but where is it going?

A couple of years ago Win32 was certainly THE way to program for Windows in one way or the other. Reasonable fast, a lot of examples and so on. However due to the shift to .NET (heard the fourth incarnation is coming...) there seems to be a change. Although the old API still stands and quite some .net code uses it, it more and more seems to me that it loses its importance. Certainly there are a couple of reasons: First of all C# (.net) with all advantages in giving the programmer a modern language is supersedeing C/C++ in many regards. Another one is that in my personal opinion MS with its VS IDE privileges the development of .NET application very much, but why is it? I mean why there are so many cool features developing in c# and it seems to me that win32/c is some semi-finished thing (eg. the Designer)? Another thing is, that Win32 question on Codeproject and many other forums become less frequent by the month. One last thing I want to add is that all modern fancy GUI/Network frameworks are designed for .NET (Dundas etc..), which makes rapid development very easy and leaves not much room for the old guys...

To make it short: Where do you think Win32 is going, has it any future, should newcomers learn it or will it be outdated and gone within the next years? Will it only run in a Wine like environment in the next Windows version?

+4  A: 

I don't think it's dead yet.

As long as .NET still makes calls to win32 to get advanced functionality, it's still going to be the fallback best choice, and most performant option.

John Weldon
+2  A: 

It's not dead, insofar as there are new libraries released for it (The Windows Template Library for one); but it's at the point where the complexity for developing outside of .NET outweighs the benefits.

Computers are getting faster, and it's getting easier (with the advent of .NET and Delphi) to develop Windows applications quicker.

With the browser model taking the forefront, there's also a lot less need to even develop most desktop applications on the Windows API. And I haven't even brought up non Microsoft technologies like AIR and Flash.

So it's not dead. It's just getting past the point of its maximum efficiency.

George Stocker
Delphi is in its 15th year, I don't think it's quite right to speak of its advent.
mghie
The Competition between .NET and The Delphi people brought the cost of developing in Delphi WAY down. That's why I chose the term 'advent'.
George Stocker
A: 

Layered Service Provider interface has been greatly enhanced in Vista. There is no way how you can do it usig .NET (it is hardcore low-level memory writing, switching function pointers and so on). So, why did Microsoft enhanced this interface if windows programming is dead?

smok1
+3  A: 

Win32 is quite simply going nowhere anytime soon.

The more popular or used a technology is, the longer it will take to die. Love it our hate it, Win32 is used in many applications. Additionally, many of the new and replacement technologies (such as .Net) live and breath on top of Win32. Without Win32 they would simply cease to function.

JaredPar
A: 

I imagine in 10 years it will have migrated to Silverlight or some other OS in a browser paradigm (as long as MS can maintain some kind of product/format lock-in there is no reason that lock-in can't be done in a browser or cloud environment.

SpliFF