Solved

Is it MFC about  disappear?

Posted on 2011-09-13
15
453 Views
Last Modified: 2012-05-12
Hi,
Really need to move from VB net to something that is faster and more professional.
Found that C++ MFC looks nice and have both VB and C++ advantages.
But without books and tutorials it can take a lot of time to start  program something.
But there is no books in amazon (only used) and the same situation in Swedish internet bookstores.  
Maybe MFC is not actual any more. Or what?
Can anybody give me answer to this question. and if it's not the end of MFC maybe you can navigate me to some place where  I can find the most information. This is really annoying to
spend time and search in internet answer to very base questions about something like How to show the image file and so on.
0
Comment
Question by:mastiSoft
  • 4
  • 3
  • 3
  • +4
15 Comments
 
LVL 40

Accepted Solution

by:
Jacques Bourgeois (James Burger) earned 84 total points
Comment Utility
Not exactly my field, I might be corrected, but as I see it, MFC is but a patch over Web Services.

Web Services are a standard. The first implementation was missing a lot of things such as compression and encryption. They have been around for many years now, but since it is a standard, everyone is fighting about how to incorporate what is missing in version 2.0.

Microsoft got tired and developped MFC as what it sees as a communication layer between 2 applications.

It's future depends on when and what the future Web Services standard will end up to be. At the moment, they are still debating (http://www.w3.org/2002/ws/).

So, maybe WFC might be seen as not actual anymore, but even more so the web services.
0
 
LVL 15

Assisted Solution

by:x77
x77 earned 84 total points
Comment Utility
I Like c and C++, but there are a lot of compilers an a lot of Standard Classes (MFC, ATL, Borland, GNU ...)

I do´nt like MFC, it is suported over a lot of MACROS and I think macros is not the best for programing.

When I began learning C++, I found as advantage from C that you can code without macros. But Microsoft Builds MFC over a lot of macros.

I Thik ATL is best option as MFC.

I think NetFamework and JAVA is most universal.
I think .Net programs have great performance when programmer takes care about it.
0
 
LVL 32

Assisted Solution

by:sarabande
sarabande earned 83 total points
Comment Utility
mfc is a 20 years old class library which is mostly a c++ class wrapper of native winapi what is 5 years older and in c.

mfc has told to be dead since decades. nevertheless it is still the easiest and mostly used class library for c++ gui development in the world.

there must be millions of books and tutorial available. trying amazon.com books and mfc gives 429 hits.

alternatives are QT which is a younger and portable (unix) gul c++ library.

or you go the .NET way where in my opinion c# is the better language for.

Sara
0
 
LVL 32

Expert Comment

by:sarabande
Comment Utility
for more info and a full list of alternatives see

http://en.wikipedia.org/wiki/microsoft_foundation_classes

Sara
0
 
LVL 44

Assisted Solution

by:AndyAinscow
AndyAinscow earned 83 total points
Comment Utility
@JamesBurger
>>Not exactly my field, I might be corrected, but as I see it, MFC is but a patch over Web Services.

Well, MFC predates most of what us know as the internet, version 1 of MFC was released in about 1992 so I think calling it a patch over web services isn't justified.



I think you have a choice if you wanted to learn another language.  For unmanaged code such as C++ then MFC is very useful (for windows programming).  It supplies a tremendous amount of functionality ready as a base for you to develop upon.  I don't think it is dead.
However there is such a lot of activity in .NET (managed) code then you really should consider something like C# where there are also a huge selection of code for you to work with and extend.
0
 
LVL 40

Expert Comment

by:Jacques Bourgeois (James Burger)
Comment Utility
Andy is right. I was in the ditch.

With all the acronyms, I mixed MFC and WCF. Disregard everything I have said.

Sorry for the mixup.
0
 
LVL 1

Author Comment

by:mastiSoft
Comment Utility
Thanks a lot for all your answers. Now I see that it will be wrong to spend the time on MFC.
I program in VB net and I like it. But this is not the language for fast application.
I need some language that fast and not change every time the people in Microsoft have  a bad day.
I see that it can only be the C++.
0
Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

 
LVL 44

Expert Comment

by:AndyAinscow
Comment Utility
>>Now I see that it will be wrong to spend the time on MFC.
>>I see that it can only be the C++.

??

MFC is a suite of C++ classes to provide prebuilt code.  It is not another language, it is C++.
0
 
LVL 32

Expert Comment

by:sarabande
Comment Utility
you could use managed c++ and windows forms.

but vb.net is same speed than managed c++. both languages are producing the same intermediate code which often is faster than compiled code of (unmanaged) c++.

Sara
0
 
LVL 7

Assisted Solution

by:tampnic
tampnic earned 83 total points
Comment Utility
I've been using MFC for 15 years on and off. Its a framework written in native C++ to allow programmers to build GUI applications faster than using the windows API's directly. Would I recommend it? I'm fairly neutral on that point. The fastest performing code possible is Windows C calling the API's directly, *if you know exactly what you are doing*. You need to know the inside of the Windows architecture to prosper in this area, its easy to make mistakes or create subtle bugs, and can easily take ten times longer to write a medium-sized application than using a framework.

I use a framework such as MFC when developing non mission-critical applications, or where the application consists of more than a few dialogs or a couple of frame windows. If the application is small or its very important to have full control of the source code with the minimum input from external libraries then I use the Windows APIs directly. Its a decision you have to make for each project based on time/risk/experience and other factors.

Why are you so against VB? I've used it as a great prototyping tool in the past and I've seen some very professional full applications written by others with it. If your coding simple Windows GUI applications, the benefits of switching to C++ are not great. To be honest a lot of my work could have been written faster in VB and the application just as fit-for-purpose,  but I'm more comfortable with C++ and MFC as I have more experience with them. If you need finer control of Windows, easier access to the Windows API functions, or need to have control of more of your source code then C++ becomes more attractive. Personally, I'm starting to look at C# as its an introduction for me to managed code and keeps a C-like syntax which I find easier to follow.

Remember MFC is only available for the Windows platform. As a substantial amount of my work has been on UNIX platforms as well, I can apply knowledge of C++ there too. Somebody mentioned the QT library which is available on UNIX and Windows. wxWidgets www.wxwidgets.org is another cross-platform GUI framework which I have used a little but quite like. Its not as mature as MFC or as widely used, but the documentation on the internet is quite comprehensive.

Cheers,
  Chris
0
 
LVL 18

Assisted Solution

by:deighton
deighton earned 83 total points
Comment Utility
you might want to follow the latest news from Microsoft about where it plans to go

http://www.buildwindows.com/
0
 
LVL 32

Expert Comment

by:sarabande
Comment Utility
uuh, the ms link want to install silverlight on my notebook. i think i know already what it tells about mfc :)

Sara
0
 
LVL 1

Author Comment

by:mastiSoft
Comment Utility
Yes you can do very much with VB net an this is a grate language. But is it not such good as C++ or C when you have to receive a bid amount of data at the very high speed  and you need to  access to different part of it very fast too. The same with the drawing. You can use GDI + and do most of the work but OpenGL  is very limited in VB net.
0
 
LVL 1

Author Closing Comment

by:mastiSoft
Comment Utility
Thank you to all of you. It was very iinterest dialog.
0
 
LVL 40

Expert Comment

by:Jacques Bourgeois (James Burger)
Comment Utility
I do not deserve the points.

As stated earlier, my discussion was about WCF, not MFC. I simply mixed the acronyms. So, what I said has absolutely no relevance to MFC.

You should give the solution to another post than mine.
0

Featured Post

Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

Join & Write a Comment

Windows Script Host (WSH) has been part of Windows since Windows NT4. Windows Script Host provides architecture for building dynamic scripts that consist of a core object model, scripting hosts, and scripting engines. The key components of Window…
This article will show, step by step, how to integrate R code into a R Sweave document
This theoretical tutorial explains exceptions, reasons for exceptions, different categories of exception and exception hierarchy.
This video teaches viewers about errors in exception handling.

771 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now