Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is the win32 api obsolete? [closed]

Is the win32 api still being developed and is it worth learning it today? Can you do everything you can with .net framework that you can with the native api?

like image 261
c_programmer_jim Avatar asked Aug 12 '13 18:08

c_programmer_jim


1 Answers

The Windows API is still being developed. For example, see Windows 8.1 New APIs and features for developers and Windows 8 and 8.1 API Index. Obsolete? Not likely. There will always be a need for people who understand how Windows works at a lower level. Somebody has to write device drivers and low-level system utilities.

Knowledge is rarely useless. Learning how the Windows API works is absolutely necessary if you're writing low-level utilities, and very handy even when writing native applications in C++ or Delphi. Less so when you're writing .NET applications, but much of the .NET runtime libraries depends heavily on the Windows API. So understanding how it works "under the hood" is quite useful.

In addition, there are things that the .NET libraries don't expose. For example, a C# program I was working on needed access to a Waitable Timer that another developer was using in a C++ application. The .NET libraries don't provide a wrapper to that particular kernel object so I had to write my own, which involved delving into the Windows API.

In most .NET development, you probably don't have to understand anything about the Windows API. But it sure doesn't hurt. I know that my understanding of why some parts of .NET work the way they do is enhanced by my understanding of Windows API programming. In addition, having struggled with Windows API development, I'm much more able to appreciate the huge productivity gains that .NET gives me.

like image 53
Jim Mischel Avatar answered Sep 25 '22 00:09

Jim Mischel