I am getting ready to start making another Windows program and this time I'm going to write it in c++ so that I can sharpen my c++ skills.
A while ago I read somewhere that Microsoft doesn't recommend using Windows forms with c++ but instead recommends C# for that. I would like to know why that is?
Isn't notepad, paint, media player all written in c or c++?
C# is sooo much nicer for working with Windows Forms, if only for the sake of avoiding C++/CLI. Along with the integration with Visual Studio, developing GUIs in C++ when you can use C# seems silly to me. The "C++ way" of using MFC is more obtuse and difficult to learn. From what I hear, if you're going to make GUIs and want to use C++, you might be better off learning Qt.
To write a Windows(GUI) program in C++ you have many options:
1. You can use C++/CLI i.e. C++ for .NET which is one of the easiest ways the write a GUI, but it will be managed code.
2. You can use just the Win API
3. You can use MFC
4. You can also use Qt, wxWidgets, gtk, gtk++ and maybe some others frameworks
I think in one of your previous posts you mentioned some experience in C# so C++/CLI will be the easiest to learn. All the other frameworks have quite a steep learning curve.
@booradley60
C# is sooo much nicer for working with Windows Forms
I agree, but C++/CLI has the advantage that you can easily use native C++ without PInvoke.