In regards to the first question you posed: C++ and C# are based on the C language, they are 'essentially' (and I use that word quite loosely) updated version of the language. For example, C++ has objects and classes making it much more object oriented that C which is much more procedural. In terms of compilers, for C++ I use the xcode compiler on Mac. For C I use the GNU and Mac terminal. Like Notatoad says, you are getting in way over your head here. If you've never programmed in C or C++ you should start with much more basic programs. OS's like XP and Vista will all be compiled into Assembly code anyway.