There is no best programming language.
There is best available for a given system in the case of small embedded systems, best for a given task (trying to program a website in C++ is a nightmare, can be done though), best one for a task that you also happen to know, most wide ranging, and so forth but outright best does not exist.
Latest compiler means very little. Don't get something from the 80s, and if you can get it from this century then great. After that for most languages it is a vanishingly small difference that you do not care about when learning the basics.
Anyway yes you can make a GUI program using MSVC. Here is a guide that looks broadly suitable
http://www.bogotobogo.com/cplusplus/application_visual_studio_2013.php
I don't know if I would launch into GUI making when you are at your level. It is not a truly bad thing but it might confuse matters if you still have basic concepts like loops and logic to get on lock.