Jump to content
  • Advertisement
Sign in to follow this  
Ancient Spirit

C# vs. Visual C++\MFC

This topic is 4628 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I was wondering, since I will need to do some windows GUI stuff, and it surely will include the hard to do things in Win32 SDK, what language should I learn? I am a C\C++ Programmer I also know basic Java, maybe that will help your answer... The thing is that I might want to write a property sheet or some other things for game settings or for example for other apps... As I see it thou, C# slowly takes over... Anyway, please advice, Thanks!

Share this post


Link to post
Share on other sites
Advertisement
The WinAPI sucks, and if it is a main part of your project to have standard windows and buttons etc (meaning you're not making a custom interface like many games have), then your best bet is a language that lets you stay away from the API while still taking advantage of the standard UI, such as C# or Java.

Share this post


Link to post
Share on other sites
I have been doing some work in C#. And I must say it is pretty good.

However, I feel a subconscious calling to go toward the harder WINAPI stuff. Maybe its cause I need a challenge :P. However I would reccomend you diving head first into the the complexities of native Win32 programming.

Afterword, you will apreciate languages such as C# more [smile]. Creating a simple program does not have to be complicated.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Quote:
Original post by Extrarius
The WinAPI sucks


Based on what criteria?

The Win32 API doesn't suck. Just because you don't like it doesn't mean you should go around making generalizations. Your comment simply demonstrates that you haven't had much experience with APIs that REALLY suck.


Share this post


Link to post
Share on other sites
Quote:
Original post by vrok137
I have been doing some work in C#. And I must say it is pretty good.

However, I feel a subconscious calling to go toward the harder WINAPI stuff. Maybe its cause I need a challenge :P. However I would reccomend you diving head first into the the complexities of native Win32 programming.

Afterword, you will apreciate languages such as C# more [smile]. Creating a simple program does not have to be complicated.


I do know some Win32 API (the basic C part programming i mean), the thing is that i dont like langs that i have no control of the way that i want to design it, i mean the fact that everything is in a class, sometimes i prefer using functions withot creating an object... it saves some code lines...

The thing is that when i look at MCAD and MCSD i see that they require VB and ASP and C#, now the question is also, are they trying to get rid of MFC?

Share this post


Link to post
Share on other sites
Quote:
Original post by Ancient Spirit
...are they trying to get rid of MFC?

Of course. It's a horrible hack. It was developed before C++ was standardized, so it does a lot of things in a manner that is inferior to the techniques now available in the C++. WTL was the first attempt to clean that up, but it was never officially documented or supported.

The other problem with MFC is that it is built on top of Win32, which has a number of complexities of its own. For instance, because you generally want to minimize entry points to a system API, and because the Win32 API is an extension of the original Win16 API and implemented without the advantages of polymorphism or genericity, MFC is not a viable long-term windowing strategy for Microsoft.

Note that Windows Forms was a stop-gap measure, to allow a .NET-based approach to using Win32 controls. It is scheduled to be replaced by the Windows Presentation Foundation (WPF), formerly codenamed "Avalon."

There is no "perfect" solution. You will have to learn multiple APIs if you intend to develop Windows GUI applications, unless you elect to use abstraction/wrapper libraries like wxWidgets.

Share this post


Link to post
Share on other sites
Quote:
Original post by Oluseyi
There is no "perfect" solution. You will have to learn multiple APIs if you intend to develop Windows GUI applications, unless you elect to use abstraction/wrapper libraries like wxWidgets.


So what you recommend is not to mess with the choices but learn them both?

EDIT: Windows Presentation Foundation, what lang is it based on and ummm... is there a point of learning MFC then? I mean for jobs and stuff...

Share this post


Link to post
Share on other sites
I'd recommend you focus on C# and WinForms. That will give you the foundation to move forward to WPF.

MFC was updated with MSVC 7.0 but not much changed with the 7.1 & 8.0 releases.

Jobs wise there is significant work available for .Net programmers and will be into the future. There's a lot of code in MFC that needs to be maintained but I think the sun is on its way down. I cannot see anyone deciding to start a new project in MFC when C++/CLI w/WinForms is a viable option.

Share this post


Link to post
Share on other sites
My problem is that I don't really want to learn new langs nowm because I need to study at the university aswell, so I want to stick with those things, is there a choice for a C\C++ Developer?

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!