Win32API(), COM->Objects( ), or Managed.Code() ?

you've decided you need to write some code, this could be for a real project (something that gets you paid at the end of the month) or might just be the equivelant of doodling on the back of a napkin, perhaps just trying something out to see what works or trying out something new that you've been putting off for a while, you obviously have a choice of programming languages ranging from C/C++, Visual Basic, C#, or perhaps even trying out some other language while at the same time drinking a large cup of Java.

When writing code on the Windows desktop, Windows XP Embedded or Windows CE you have a choice of application development frameworks to use, this could be Win32 (the "assembly language" of the o/s), this could be a framework like MFC (a set of wrapper classes that abstracts developers from the underlying Win32 API), this could be COM (object based, versioned components) or Managed Code

You could be writing code that calls on Win32, COM, or Managed assemblies or potentially be writing components (DLL, COM Object, or assembly) for someone else to call.

I'm curious, what's your preference of language and interface (Win32, COM, or Managed Code), and why ?

- Mike