Win32 API - still used?

Hello,

I'm wondering if programming using the native Win32 API is still be done today. I've Googled a bit and I get mixed answers: some people say programmers don't use the API anymore and almost always use frameworks like .NET, while others say it's still very useful to learn.

Which is true? When creating big GUI's it seems very hard to still make use of it, in comparison with for example .NET.
There are other frameworks like wxWidgets and QT which are wrappers of win32 API and much better and faster than .NET crap applications.
I'm wondering if programming using the native Win32 API is still be done today.
Yes, but usually not for rapid development.

some people say programmers don't use the API anymore and almost always use frameworks like .NET, while others say it's still very useful to learn.
Well I guess we can't deny that more schools today either teach Java and .NET languages right. Basically some people defend what they know.You have to choose your own path.

Which is true? When creating big GUI's it seems very hard to still make use of it, in comparison with for example .NET.
Both are true. And yeah creating a well developed GUI with Win32 API makes me wanna pull out my hair. But simple GUI is not that hard.

modoran wrote:
.NET crap applications
My preferred language is C++ but Paint.NET(http://www.getpaint.net/) is awesome, ever heard of it? I'd have to agree with some that choosing .NET languages in some situations maybe wiser.
I write large mission critical apps using strictly the Windows Api. The reason it is advantaegous for me is that I do both desktop programming and Windows CE programming. Using SDK Win32 development techniques allows me to use exactly the same programming architectures in both places, and the truely amazing thing about that is that I even do it using different languages! The Win32 Api is language agnostic although it is documented in C. However, other programming languages can use it quite easily.

For Windows desktop work I use PowerBASIC, which allows me to be very productive on that platform using SDK Win32 techniques augmented with PowewrBASIC's extensive built in collection of array and string handling capabilities. For Windows CE I use either eMbedded Visual C++ 4 or Visual Studio C++. Whatever I learn while developing on one platform carries over equally well to the other, because while they are not exactly the same, they are very similiar. This way, I havn't had to learn seperate languages and programming techniques for each seperate platform. Let me just give a quick example. If you are working in C or C++ and you have a text box (edit control) in a Window and you want to put text in it, and assumming the handle of the text box is hEdit, it would look like this...

1
2
TCHAR szBuffer[]=_T("Hello, World!");
SetWindowText(hEdit, szBuffer);


and in PowerBASIC like this...

 
SetWindowText(hEdit,"Hello, World!")


Also, I like small efficient programs with as few external dependencies as possible. Using Win32 (or I guess Win64 now that 64 bit is here and getting more common, although I don't use 64 bit Windows yet) I can get that automatically.

As intimated by blackcoder, if you are writting RAD (Rapid Application Development) or quick throw away code, its probably not the way to go. But for serious apps, it works for me.
Last edited on
closed account (3pj6b7Xj)
My squibbles game uses the win32API, .NET comes with strings attached. I'm the type of guy who likes to program using my own personal created solutions because I think using other people's work is some what cheating yourself out of a learning experience. Of course, out in the field, you are already expected to KNOW EVERYTHING and be very clever in using everything at your disposal, after all, sometimes you are only looking forward to the end result as opposed to a learning experience.
Last edited on
Development time is the FIRST deciding factor for programmers choosing a language, what ever accomplishes you goal the fastest wins.

I'm not a developer, I'm a SysAdmin. I use the Windows API probably on weekley basis and I can say I'm very comfortable with it. If I'm writing a process that I feel VBS is not the right tool for then I write it in C++. There IS a learning curve but if you stick with it you'll learn soon enough that MSDN has better documentation then ANY OTHER LIBRARY on the net, and I can easily defend that argument.

What you're seeing online is a byproduct of modern education, as I've pointed out before to educate a introductory level programmer in C++ takes about 2 years of college. The schools can teach .NET, Java or C# in half that time and convince themselves that it's the same thing. Because of this we are probably now on our third generation of inferior programmers being cranked out into the workforce, they don't know C++ and don't see a reason to learn therefore the Win32 API is falling out of the main stream.
Last edited on
Interesting thoughts Computergeek01.

Its definitely a tricky issue and one I give a lot of thought to myself. Everybody has to decide for him/herself, and 'one size' definitely doesn't fit all. The only part I feel bad about is that I think sometimes folks turn to one framework or another without investigating the issues enough, and then end up investing a lot of time into something that doesn't really suit their needs. But heck, we all do that. Its the kind of world it is.
closed account (3pj6b7Xj)
I taught myself C++ but I could probably benefit a lot from a college course. Right now i'm attending Universal Technical Institute and I have 1 year and 4 months to go till my training is complete, yup, I love cars..perhaps after that I should invest in a college programming course but, I doubt i'll find anything on just C++ itself ... but can't hurt to learn the rest.
Topic archived. No new replies allowed.