# Question About GUI Creation



## dcf-joe (Oct 18, 2009)

I am currently learning C++, and I heard that I can use MFC to create user interfaces with C++. I have also been looking around and I have learned that I can use C# to create user interfaces (I think this is called .NET.) I am still going to continue learning C++, but I want to know which one is BETTER, not necessarily easier, to use to create GUIs.


----------



## Kreij (Oct 18, 2009)

Creating a GUI is really easy if you are using Visual Studio.
Whether you want to use C# or C++ is up to you, but C# is easier to learn in my opinion.

One or the other is not really "better". They both can accomplish the same thing in most cases.
C++ tends to allow you to get to the nuts and bolts of the hardware a little easier, but that is not to say you can't do it in C#.
C# on the other hand, was designed to prevent problems that arose in unmanaged code when programmers would do something unsafe in their code. 

If  you want more detailed information, just ask.


----------



## FordGT90Concept (Oct 18, 2009)

C++ is faster and cross-platform capable.  C# is safer and only officially supported on Windows.  C++ is preferred for serious, committed projects such as professional applications (retail/commercial software) because of its performance and capabilities (the sky is the limit).  C# is preferred for quick-to-develop applications to fix a problem but are not necessarily a long term solution.


----------



## dcf-joe (Oct 18, 2009)

Thank you both for your useful replies. I think I will stick with C++ then, since I am learning it anyways. I guess C# can be a sort of a side project for me then, when I am ready.


----------



## W1zzard (Oct 19, 2009)

making a gui with .net is usually a lot faster than mfc, especially if you are not very experienced in mfc.
mfc however is the "standard" way most serious applications are written and with enough experience you can be VERY fast. i use .net for throwaway applications or simple stuff and everything complex is made in mfc. using mfc means no .net means your customers wont need .net installed which can be a big problem in some environments.

learn c/c++ no matter what. then depending on your project requirements use c# or c++ with mfc. and start using visual studio, everything else is crap.


----------



## MilkyWay (Oct 20, 2009)

Wizzard certainly knows his stuff so take his advice.
Learning C++ is obviously a must.


----------



## dazed554 (Oct 27, 2009)

C# is very easy to learn and use to create GUIs quickly. Another option is the Win32 API, which you can use with C or C++.


----------

