I always work in windows environment and most often to write the program in C/C++. Is it necessary to a Windows Application Programmer to remember Win32 APIs as more as possible??
Dazza
I always work in windows environment and most often to write the program in C/C++. Is it necessary to a Windows Application Programmer to remember Win32 APIs as more as possible??
Dazza
Yes. Even if you use a framework like MFC or WTL, you still need to use Win32 calls for many things.
Well, I can't say it would hurt, but I think that it's better to remember how to quickly reference the API documentation instead of actually remebering the documentation itself. That mental currency (of which there is a limited amount, of course) could be better used remembering other things to make you a better developer in your environment.
Depends, if you are doing heavy GUI work, knowing Win32 (with or without MFC) is going to benefit you.
OTOH If you are writing background tasks and services, I would segregate as much of the Win32 necessary functions away from the normal code in order to keep the code as portable as possible. Every place I've ever worked where there was a client/server setup (as it use to be called), as the product gained popularity/industry notice, there always came along a customer who was interested in the product, but not on Windows. If you have Win32 calls all over your code, porting is a pain.
Of course, this doesn't mean you shouldn't know the APIs. When in Rome.... If you are doing an app that needs to do a lot of I/O, you should be using the Win32 I/O completion API. I'm just saying hide that stuff whenever you can.
Short answer, Remember individual APIs? don't be silly. Be aware of many APIs, indeed.
You shouldn't worry about brute memorization. You probably want to understand the basics though such as message pumps, posting messages, resource files, posting to threads, and just the general gist of how to do things in Win32. You'll probably know this after writing your first Win32 program.
In general, though, concern yourself about learning the best way to do something when its needed. Keep good references around, such as
Programming Windows by Petzold
As a programmer you have so many other things to learn, ie your problem domain or other technologies you'll have to integrate with, that wasting time on brute memorization is usually a waste of resources and won't work as well as google or a good index in the back of a book.