What is your goal? For cross platform, Qt is probably the most dominant library. For just Windows, .NET is the most dominant, though the actual UI jumps around (forms, XAML, Silverlight, etc.) I personally love C++ and MFC and write small apps in both because I'm an expert in both (and will hopefully retire soon with that being my legacy of expertise.) However, if you are starting out, unless you are specifically interested in embedded systems, driver or kernel level code, C++ is a poor choice. Based on my recent interview experiences, Java probably has more demand than any language (Android is a big part of this) with C#/.NET web services being a close second. I have found increased interest in Qt, though I'm not convinced the demand will last much more than another decade, if that. (On the flip side, iPhone apps are written in Objective-C. How long will that last? Who knows?)