C# and .NET are very easy to use to make GUI programs. C# is similar to C++, but there are some differences, one being that it is very easy to create windows programs. The problem with .NET programming is that the end-user has to install .NET 2.0 to run the programs. The problem with Visual C++ Express is that it doesn't come with MFC, which means programming windows software in straight win32 is a very big pain. I enjoyed programming in C#, but because I wanted native programs, I went to Visual C++ Express with wxWidgets. It's a pretty good framework for making native GUI software, and whatever code you write will be portable to other OS's.