I'm a Computer Science student with some C++ experience and would eventually like to learn a windows GUI library. Some sites have warned that MFC is losing popularity because some of the programs made with the other libraries available have shown to have faster development times, but since MFC has been used for so long, there are more people who know it. So, if I were to learn a windows library, which would be my best bet if I wanted to get hired in the next 3-4 years (the time it will take to graduate with a B.S. and learn a library)?
So, if I were to learn a windows library, which would be my best bet if I wanted to get hired in the next 3-4 years (the time it will take to graduate with a B.S. and learn a library)?
I would learn things like; Windows API, COM, Direct2D, Windows Runtime Library (WRL), and have a look at what Microsoft are saying for Windows 10.
And they're already recruiting for people with this skill on jobserve.com (checking the site just now, there are 5 US based roles which mention Xamarin and 21 based in the UK.)
C# is definately more popular and has much faster development times. There are also MANY more jobs for c# than c++.
but your question was specifically C++, and specifically windows api, and if you are like me (no interest in c# whatsoever) your options are narrow (.NET / MFC / WTL / WinForms).
QT is not a windows api, its generic across many platforms and wont help a bit in learning windows ui, but obviously your skills would be portable and your oportunity for employment much better. (the same can be said about .NET now its open source)
So if you are looking for best job oportunities, switch to C# and .NET, if you dont want to switch to C# take a look at .NET. If you want to be a purist go with MFC / WTL.
Your options are many, i guess it comes down to job oportunities in your part of the world and how purist you are about c++/windows.
I even saw a video where someone said Google Chrome used C++ and ATL (similar to WTL) for the windows version
Your options are many, i guess it comes down to job oportunities in your part of the world and how purist you are about c++/windows.
It's pretty frustrating to have the question 'what programming language and library should I learn' up in the air. I could learn learn C# and .net but in the in the next 5-10 years, C# and .NET might be replaced yet another library and language that's said to be better, making the years spent learning the library worthless, since it may go the way of MFC, and almost die and have barely any jobs opportunities to use it.
I'm not familiar at all with windows programming or GUI programming, just console apps. Why exactly does C#/.NET result in faster development times and are there any drawbacks to using it over another library like MFC or QT?