Since you are using PC/WM 2003, and you want to test it on you computer and your PDA, I'd suggest Visual Studio.net, also there is a new little program you can get that will allow you to program directly on your PDA. I just started using it and love it. You can get it in C/C++ or C#, I'd recommend C# as C/C++ is no longer in production, and he has went to C#, as it's easier to go back and forth with it, with Visual Studio.net.
Here is the url for C/C++
and C#
, there is also an IDE for c# which is very hand and really nice looking make sure you down load that as well as it's a very sweet tool, and if you have any problems etc, there is a group you can ask questions and they are very helpful, as well as the developer answers questions there as well.
Make sure you read the documentation before you start, I really like this program haven't used it as much as I like as work keeps me busy, but I love the fact it uses the dos command line, and notepad to write the code. I'm still the old school programer at heart even if I got to play with VS.net most of the time.
As for using VisualStudio.net, I believe you need 6.0 or higher, to be able to use it with your pda and get the packages you need, like all .net projects you can us any language that is included with .net, as it now does something similar to byte code so it's portable and will work on anything that accepts the .net packet that you create. If you use VS.Net you have to use a subprogram called smart devices, basically when you go in and create a project you look for that, and it will give you everything you need, and it will give you an emulator that you can test your programs on before you put it on your pda. Which is highly recommended, they are a pain if you manage to really mess one up, to get it to work again, I've know a few that have had to send their's back to the factory to get the thing wiped from a bad program that messed up the flash memory files.
You can also pick up embedded C++ from MS website, for free, and then just grab, the API you need, like WM 2003 or whatever API you decide to write for and just install it. Both are free, and much cheaper way if you don't want to spend the money for VS, if you don't already have access to it. Also tip before you start is, WM 2003 is actually sitting upon Windows CE, so if you want you can grab some reference books for CE, and that should give you a decent basis to start, but most of the code is either in C# or COM, well the old code is in COM, but with CE and above you can use VS and use any language your you like.
Compliers for PDAs especially for windows brand, are few and far in between. It's basically take what you find and add or modify it yourself for your own needs. But I would definitely join a list that has a lot of programmers of handhelds, as there are a lot of things that aren't on a PDA, or you have to write, a write around for, because of their *lightness* and when your trying to do something that should be very simple and work and it doesn't, it can be very frustrating to finally find out after serval days or so after trying everything you could think of, that it can't be done, and you just wasted your time.
Hope that helps
Kitamora