Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. MFC's future

MFC's future

Scheduled Pinned Locked Moved The Lounge
csharpc++
71 Posts 27 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C Code4Food

    As someone familiar with MFC I just don't like the way .NET related code is so easily reversible. I do not know if it is the same way with managed C++, I hope not. I am using the first release of Visual Studio.NET have they released a forms editor that works for Visual C++ yet? Sorry this all goes back to my LONGGG time away from C++. Code4Food ---- "There is no try; only do or do not" -Yoda

    M Offline
    M Offline
    Member 96
    wrote on last edited by
    #24

    Code4Food wrote: As someone familiar with MFC I just don't like the way .NET related code is so easily reversible. Yes me too, but we're going ahead full steam with a big commercial app that was formerly mfc / c++ to c# .net and I would not turn back to MFC / c++ to write a business application now for any money. Just too painfully slow. When I program in C# it's simply amazing how much you can get done in such a short period of time. As for reversible, we had that concern for our business apps about the first 10 seconds after we started using c# and one of the first things we did was tested building a ATL COM component that is fully accessible through interop from our c# code. It worked slick and flawlessly the first time with almost no quirkiness or difficulties at all. So all the stuff we don't want anyone to see is going into ATL components (license key, encryption etc) and the rest we'll just use a good quality obfuscator to keep the riff-raff out. We're not doing anything remotely patentable and we really don't care if anyone can see the majority of it or not as long as the critical stuff is wrapped inside COM components. ------------

    1 Reply Last reply
    0
    • N Nish Nishant

      igor1960 wrote: But what exactly in BCL that is not already in STL? I havent done any STL but I guess STL does not have Regular Expressions, Networking classes (the BCL has some very high level abstractions for handling HTTP, FTP etc), Imaging, ADO classes, Crypto classes, System diag classes, a speech library (text 2 speech and reverse) and many more that I dont remember as of now. Nish


      "I'm a bit bored at the moment so I'm thinking about writing a new programming language" - Colin Davies My book :- Summer Love and Some more Cricket [New Win] Review by Shog9 Click here for review[NW]

      I Offline
      I Offline
      igor1960
      wrote on last edited by
      #25

      With an exception of Crypto/Imaging -- everything else looks like implemeted already either in STL/MFC -- majority looks like just wrappers to COM Objects (speech/ado/system diag)... But again for Crypto -- CryptoAPI... Imaging -- GDI++... "...Ability to type is not enough to become a Programmer. Unless you type in VB. But then again you have to type really fast..." Me

      N 1 Reply Last reply
      0
      • X Xakep

        Microsoft .NET is a very perspective technology, but I think it could kill MFC. Not in near future, but some time later. I didn't read anything about this, I'm just want to hear your opinion about MFC's future.

        M Offline
        M Offline
        Member 96
        wrote on last edited by
        #26

        MFC will become the equivalent of those old classes we used to use for "windowing" in dos programs within the next 7-10 years. There's too much legacy code to see it die rapidly, but I suspect that it's going to fade away. I'm fully into .net now and couldn't see any reason to MFC for business application development. Maybe little utilities, etc, but then again those are usually ideal console apps so who can say. The real kicker is when .net is standard on every PC. At that point who wouldn't use it for little utilities etc when it compiles to a tiny 5k program. I'm amazed when a fairly sophisticated business app compiles to only 100kb in total for .net. It's great that way. Either way, I don't think .net can be put in the "fad" category at this point, I had my doubts a year ago, but it's very slick, works well, makes sense from every aspect for working class programming of business apps. MFC is just loaded with too much crap that it has accumulated over the years from win 3 days to now and it's become so byzantine and archaic by modern standards that it just has to collapse eventually under it's own weight. ------------

        I 1 Reply Last reply
        0
        • N Nish Nishant

          Jim A. Johnson wrote: Desktop developers have no use for .NET. Uhm, I take it that you have never taken a proper look at the .NET BCL. If you had then you probably wouldn't be saying this Jim. Remember, there is nothing stopping you from continuing to use MFC while also taking advantage of the BCL. Nish


          "I'm a bit bored at the moment so I'm thinking about writing a new programming language" - Colin Davies My book :- Summer Love and Some more Cricket [New Win] Review by Shog9 Click here for review[NW]

          M Offline
          M Offline
          Member 96
          wrote on last edited by
          #27

          Don't bother Nish, it's like debating whether the Apple is better than the PC, it's a tool for the job sort of issue. That being said .net is so superior in so many ways that it's hard to imagine going back to MFC unless I feel like a trip down memory lane (and I don't ). ------------

          1 Reply Last reply
          0
          • P pseudonym67

            MFC will probably chug along in the background for a few years with very little in the way of updates and then slowly disappear off the radar screen. It wont happen for a while yet as that would be seen as trying to force people to use dot net which Microsoft seem to be weary of trying to ram down peoples throats and the backlash would push more people into using linux etc. So MS will probably make the right noises to pacify the MFC die hards for next couple of years as there are so many businesses relying on the MFC code, while continuing to push .NET largely through developers and sites like this until there are a majority of new projects being written in .Net rather than MFC, then MFC will start to slip until you get to the point where they don't include it with the compilers anymore. That's the way I'd do it anyway pseudonym67 Neural Dot Net Articles 1-11 Start Here[^]

            M Offline
            M Offline
            Member 96
            wrote on last edited by
            #28

            Yup, I think your dead on with that. ------------

            1 Reply Last reply
            0
            • N Nish Nishant

              Tom Welch wrote: Didn't Nish get kicked out of the country for writing that? LOL I must say that's one of the funniest things anyone's said about the book in a while. Uhm I must discuss with Tom (Archer) whether we can use that as a marketing gimmick ;-) One of the co-authors getting kicked out of the country for writing about MFC :-) Nish


              "I'm a bit bored at the moment so I'm thinking about writing a new programming language" - Colin Davies My book :- Summer Love and Some more Cricket [New Win] Review by Shog9 Click here for review[NW]

              M Offline
              M Offline
              Member 96
              wrote on last edited by
              #29

              "Read the book that had the desparado author fleeing the country, one step ahead of the byte patrol" "Banned in Utah" "Shipped in plain brown wrapper for your discretion" ------------

              N 1 Reply Last reply
              0
              • N Navin

                I think eventually, MFC will be relegated to legacy code only. What benefit is there to writing new code in MFC? If you want to write for Winows only, might as well take advantage of .NET. And if you want to write cross-platform, you can't use MFC anyway... you'll need wxWindows, VCF, Qt, etc., or program in Java. My own team has been more or less phasing out MFC. It is pretty rare for us to do any new development with MFC - mainly "throw-away" code. MFC will linger on for a while until people get the hang of the alternatives, though. "When a man sits with a pretty girl for an hour, it seems like a minute. But let him sit on a hot stove for a minute and it's longer than any hour. That's relativity." - Albert Einstein

                M Offline
                M Offline
                Member 96
                wrote on last edited by
                #30

                Navin wrote: And if you want to write cross-platform, you can't use MFC anyway... you'll need wxWindows, VCF, Qt, etc., or program in Java. .NET / CLI is being ported to *nix http://www.go-mono.com/[^] Can Mac's be far behind? ------------

                K 1 Reply Last reply
                0
                • J Joe Woodbury

                  MFC has far too large an established base for it to "vanish" in the near future. MFC has its quirks, as does every class library (.NET is chock full of idiosyncrocies and it's nearly brand new!), but it is a very mature, stable library. It also has a rich set of time-tested third party libraries that C#.NET lacks. An experienced developer can still put an GUI application together faster with MFC than with .NET and it will have more features users expect (.NET lacks so many GUI things it borders on the absurd.) (Speaking of missing features, I'm writing a little applet in C#.NET and am currently avoiding writing yet-another-comma-delimited-parser by writing this.)

                  M Offline
                  M Offline
                  Member 96
                  wrote on last edited by
                  #31

                  Joe Woodbury wrote: An experienced developer can still put an GUI application together faster with MFC than with .NET Hmm..I'd have to disagree with you 100% there, but then again I guess it depends on the application. I've no need for MDI or SDI and pretty much never have so maybe that's what your referring to? ------------

                  T 1 Reply Last reply
                  0
                  • N Nish Nishant

                    The whole point is that, if .NET actually does kill MFC, then it probably just establishes the fact that .NET must have actually got to a stage where programmers find it much more powerful and easy to use than MFC ever was. The old must make way for the young. It's been like that since Adam first saw Eve without the leaves... Nish


                    "I'm a bit bored at the moment so I'm thinking about writing a new programming language" - Colin Davies My book :- Summer Love and Some more Cricket [New Win] Review by Shog9 Click here for review[NW]

                    B Offline
                    B Offline
                    brianwelsch
                    wrote on last edited by
                    #32

                    Nishant S wrote: It's been like that since Adam first saw Eve without the leaves... :-D BW "In a world full of people, only some want to fly,Isn't that crazy?" - Seal

                    1 Reply Last reply
                    0
                    • M Member 96

                      "Read the book that had the desparado author fleeing the country, one step ahead of the byte patrol" "Banned in Utah" "Shipped in plain brown wrapper for your discretion" ------------

                      N Offline
                      N Offline
                      Nish Nishant
                      wrote on last edited by
                      #33

                      John Cardinal wrote: desparado author fleeing the country :-D Nish


                      "I'm a bit bored at the moment so I'm thinking about writing a new programming language" - Colin Davies My book :- Summer Love and Some more Cricket [New Win] Review by Shog9 Click here for review[NW]

                      B 1 Reply Last reply
                      0
                      • N Nish Nishant

                        Jim A. Johnson wrote: Desktop developers have no use for .NET. Uhm, I take it that you have never taken a proper look at the .NET BCL. If you had then you probably wouldn't be saying this Jim. Remember, there is nothing stopping you from continuing to use MFC while also taking advantage of the BCL. Nish


                        "I'm a bit bored at the moment so I'm thinking about writing a new programming language" - Colin Davies My book :- Summer Love and Some more Cricket [New Win] Review by Shog9 Click here for review[NW]

                        J Offline
                        J Offline
                        Jim A Johnson
                        wrote on last edited by
                        #34

                        Nishant S wrote: Uhm, I take it that you have never taken a proper look at the .NET BCL. If you had then you probably wouldn't be saying this Jim. Remember, there is nothing stopping you from continuing to use MFC while also taking advantage of the BCL. Well, no, I haven't. Interesting; I've heard of CLR, but not BCL. But, see, here's why desktop developers aren't interested in .NET: 1) It's geared primarily towards Web development. 2) It requires a 10 meg+ DLL. 3) It's not geared towards performance: it's geared towards Jave-like performance, via C#. No, I can't work on .NET while working on MFC apps. Why? No time to learn! Writing good code takes time. Even after 20 years in this biz, the last 12 doing C++ exclusively, I still have tons to learn about C++. Why waste time learning yet here another today, gone tomorrow Microsoft technology?

                        N J J J T 5 Replies Last reply
                        0
                        • I igor1960

                          With an exception of Crypto/Imaging -- everything else looks like implemeted already either in STL/MFC -- majority looks like just wrappers to COM Objects (speech/ado/system diag)... But again for Crypto -- CryptoAPI... Imaging -- GDI++... "...Ability to type is not enough to become a Programmer. Unless you type in VB. But then again you have to type really fast..." Me

                          N Offline
                          N Offline
                          Nish Nishant
                          wrote on last edited by
                          #35

                          igor1960 wrote: looks like just wrappers to COM Objects Yup, the BCL provides classes that wrap the various COM objects and the Win32 API. So why not use the classes? Nish


                          "I'm a bit bored at the moment so I'm thinking about writing a new programming language" - Colin Davies My book :- Summer Love and Some more Cricket [New Win] Review by Shog9 Click here for review[NW]

                          I 1 Reply Last reply
                          0
                          • J Jim A Johnson

                            Nothng that can replace MFC yet exists. Desktop developers have no use for .NET. Apparently a large number of programmers refuse to upgrade to VS.NET becasue of its bizarre interface; I wish I could go back. As long as Windows is around, MFC will be the dominant programming library.

                            J Offline
                            J Offline
                            J Dunlap
                            wrote on last edited by
                            #36

                            Jim A. Johnson wrote: Desktop developers have no use for .NET. :rolleyes: :confused: I'm doing some desktop apps in .NET and really liking the ease and power available in .NET. Only thing is, there aren't as many controls for .NET as I'd like to see. (Don't worry, we're fixing that. ;) )

                            "Blessed are the peacemakers, for they shall be called sons of God." - Jesus
                            "You must be the change you wish to see in the world." - Mahatma Gandhi

                            1 Reply Last reply
                            0
                            • J Jim A Johnson

                              Nishant S wrote: Uhm, I take it that you have never taken a proper look at the .NET BCL. If you had then you probably wouldn't be saying this Jim. Remember, there is nothing stopping you from continuing to use MFC while also taking advantage of the BCL. Well, no, I haven't. Interesting; I've heard of CLR, but not BCL. But, see, here's why desktop developers aren't interested in .NET: 1) It's geared primarily towards Web development. 2) It requires a 10 meg+ DLL. 3) It's not geared towards performance: it's geared towards Jave-like performance, via C#. No, I can't work on .NET while working on MFC apps. Why? No time to learn! Writing good code takes time. Even after 20 years in this biz, the last 12 doing C++ exclusively, I still have tons to learn about C++. Why waste time learning yet here another today, gone tomorrow Microsoft technology?

                              N Offline
                              N Offline
                              Nish Nishant
                              wrote on last edited by
                              #37

                              Jim A. Johnson wrote: Well, no, I haven't. Interesting; I've heard of CLR, but not BCL. Base Class Library (the huge collection of .NET framework classes) Jim A. Johnson wrote: 1) It's geared primarily towards Web development. :confused: Not really. There are so many useful classes that have nothing to do with web at all. Jim A. Johnson wrote: 2) It requires a 10 meg+ DLL. Future versions of Windows will have it by default. Jim A. Johnson wrote: 3) It's not geared towards performance: it's geared towards Jave-like performance, via C#. C# is just a language/compiler for the .NET framework. .NET might be slower than native code but in business apps when has performance been the primary issue? There are far too many other bottlenecks like network speed, data base access etc. that the slowness due to a JIT compilation wont even be noticeable. It's not as if anyone is gonna write a high speed compiler using managed code Jim A. Johnson wrote: No, I can't work on .NET while working on MFC apps. Why? No time to learn! Writing good code takes time Uhm, Tom Archer and I are writing a book targetted at MFC devs that talks about how to integrate MFC and .NET without givin up on MFC :-) Nish


                              "I'm a bit bored at the moment so I'm thinking about writing a new programming language" - Colin Davies My book :- Summer Love and Some more Cricket [New Win] Review by Shog9 Click here for review[NW]

                              1 Reply Last reply
                              0
                              • C Christian Graus

                                MFC is dead. Microsoft want you to use C#, so VB and MFC will become poor second cousins to C# sooner rather than later. Christian NO MATTER HOW MUCH BIG IS THE WORD SIZE ,THE DATA MUCT BE TRANSPORTED INTO THE CPU. - Vinod Sharma Anonymous wrote: OK. I read a c++ book. Or...a bit of it anyway. I'm sick of that evil looking console window. I think you are a good candidate for Visual Basic. - Nemanja Trifunovic

                                N Offline
                                N Offline
                                Nish Nishant
                                wrote on last edited by
                                #38

                                Christian Graus wrote: so VB and MFC will become poor second cousins to C# sooner rather than later. Unless some of the existing MFC devs give up their egos ;-) and decide to use Managed C++ to mix MFC with the .NET BCL :-) Nish


                                "I'm a bit bored at the moment so I'm thinking about writing a new programming language" - Colin Davies My book :- Summer Love and Some more Cricket [New Win] Review by Shog9 Click here for review[NW]

                                C 1 Reply Last reply
                                0
                                • J Jim A Johnson

                                  Nishant S wrote: Uhm, I take it that you have never taken a proper look at the .NET BCL. If you had then you probably wouldn't be saying this Jim. Remember, there is nothing stopping you from continuing to use MFC while also taking advantage of the BCL. Well, no, I haven't. Interesting; I've heard of CLR, but not BCL. But, see, here's why desktop developers aren't interested in .NET: 1) It's geared primarily towards Web development. 2) It requires a 10 meg+ DLL. 3) It's not geared towards performance: it's geared towards Jave-like performance, via C#. No, I can't work on .NET while working on MFC apps. Why? No time to learn! Writing good code takes time. Even after 20 years in this biz, the last 12 doing C++ exclusively, I still have tons to learn about C++. Why waste time learning yet here another today, gone tomorrow Microsoft technology?

                                  J Offline
                                  J Offline
                                  J Dunlap
                                  wrote on last edited by
                                  #39

                                  Jim A. Johnson wrote: It's geared primarily towards Web development. You'd be surprised. Yes, it has a lot for Web dev, but it also has excellent support for the desktop. Jim A. Johnson wrote: It requires a 10 meg+ DLL. That 10 meg+ DLL is partly the large BCL. Jim A. Johnson wrote: 3) It's not geared towards performance: it's geared towards Jave-like performance, via C#. That is a problem, but not too much of one. They're going to be working on optimizations in future releases. Jim A. Johnson wrote: No, I can't work on .NET while working on MFC apps. Why? No time to learn! Writing good code takes time. Even after 20 years in this biz, the last 12 doing C++ exclusively, I still have tons to learn about C++. If you like MFC, and don't have time to learn C#, that's fine - go ahead and use it. :) However, don't knock .NET if you don't know much about it. :| MFC is very good for desktop apps, and so is .NET.

                                  "Blessed are the peacemakers, for they shall be called sons of God." - Jesus
                                  "You must be the change you wish to see in the world." - Mahatma Gandhi

                                  1 Reply Last reply
                                  0
                                  • N Nish Nishant

                                    igor1960 wrote: looks like just wrappers to COM Objects Yup, the BCL provides classes that wrap the various COM objects and the Win32 API. So why not use the classes? Nish


                                    "I'm a bit bored at the moment so I'm thinking about writing a new programming language" - Colin Davies My book :- Summer Love and Some more Cricket [New Win] Review by Shog9 Click here for review[NW]

                                    I Offline
                                    I Offline
                                    igor1960
                                    wrote on last edited by
                                    #40

                                    Sure, why not? If you are not concerned with memory footprint as well as .NET deployment is not an issue -- sure it can and probably should be used... I'm just against that crowd that already rendered MFC/ATL/COM as dead. Yes, sure CLR and only CLR is the bright future! LOL... "...Ability to type is not enough to become a Programmer. Unless you type in VB. But then again you have to type really fast..." Me

                                    N T 2 Replies Last reply
                                    0
                                    • I igor1960

                                      Sure, why not? If you are not concerned with memory footprint as well as .NET deployment is not an issue -- sure it can and probably should be used... I'm just against that crowd that already rendered MFC/ATL/COM as dead. Yes, sure CLR and only CLR is the bright future! LOL... "...Ability to type is not enough to become a Programmer. Unless you type in VB. But then again you have to type really fast..." Me

                                      N Offline
                                      N Offline
                                      Nish Nishant
                                      wrote on last edited by
                                      #41

                                      igor1960 wrote: If you are not concerned with memory footprint The .NET BCL was developed by people at MS just as they did develop MFC and ATL. What makes you think that they must have got it wrong this time? If the BCL has a memory footprint then so does MFC. igor1960 wrote: MFC/ATL/COM as dead Not dead, but surely dying a slow relaxed death. igor1960 wrote: sure CLR and only CLR is the bright future! LOL... While you were probably joking, it is ironic that there is a lot of truth in your joke. The future might not be the CLR as we know it now, but for sure one of it's great grand children will rule the development world a few decades from now. Nish


                                      "I'm a bit bored at the moment so I'm thinking about writing a new programming language" - Colin Davies My book :- Summer Love and Some more Cricket [New Win] Review by Shog9 Click here for review[NW]

                                      I 1 Reply Last reply
                                      0
                                      • N Nish Nishant

                                        igor1960 wrote: If you are not concerned with memory footprint The .NET BCL was developed by people at MS just as they did develop MFC and ATL. What makes you think that they must have got it wrong this time? If the BCL has a memory footprint then so does MFC. igor1960 wrote: MFC/ATL/COM as dead Not dead, but surely dying a slow relaxed death. igor1960 wrote: sure CLR and only CLR is the bright future! LOL... While you were probably joking, it is ironic that there is a lot of truth in your joke. The future might not be the CLR as we know it now, but for sure one of it's great grand children will rule the development world a few decades from now. Nish


                                        "I'm a bit bored at the moment so I'm thinking about writing a new programming language" - Colin Davies My book :- Summer Love and Some more Cricket [New Win] Review by Shog9 Click here for review[NW]

                                        I Offline
                                        I Offline
                                        igor1960
                                        wrote on last edited by
                                        #42

                                        The .NET BCL was developed by people at MS just as they did develop MFC and ATL. What makes you think that they must have got it wrong this time? If the BCL has a memory footprint then so does MFC. I'm confused here: I though BCL/FCL is part of .NET Framework and CLR will be loaded? Maybe we are talking about different things, but I meant memory footprint and other overhead... While you were probably joking, it is ironic that there is a lot of truth in your joke. The future might not be the CLR as we know it now, but for sure one of it's great grand children will rule the development world a few decades from now Sure, world is constant progress... "...Ability to type is not enough to become a Programmer. Unless you type in VB. But then again you have to type really fast..." Me

                                        1 Reply Last reply
                                        0
                                        • S Shog9 0

                                          I think without MS behind it, a slight breeze could kill MFC. :rolleyes: If I were just learning to program now, would I try to learn MFC? No sooner than I'd try to learn COBOL. MFC-only coders will live on for years in maintenance roles and in their own projects, but unless MS puts some serious muscle into updating it, it'll soon lose all appeal for new projects.

                                          Shog9

                                          Let your mercy spill / On all these burning hearts in hell If it be your will / To make us well...

                                          A Offline
                                          A Offline
                                          Atlantys
                                          wrote on last edited by
                                          #43

                                          Shog9 wrote: MFC-only coders will live on for years in maintenance roles and in their own projects, *looks at resume, notices no .NET-related technologies listed* Aww CRAP! ;P I prefer to wear gloves when using it, but that's merely a matter of personal hygiene [Roger Wright on VB] Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. [Rich Cook]

                                          S 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups