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. General Programming
  3. C / C++ / MFC
  4. Is MFC obsolete?

Is MFC obsolete?

Scheduled Pinned Locked Moved C / C++ / MFC
csharpc++dotnetquestionlearning
19 Posts 11 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.
  • R Rajesh R Subramanian

    Of all your questions I've attempted, this is the toughest one, Christian. First off, .NET and C++ (I will say only C++ in this message. But, When I say C++, include the frameworks and libraries built on and around it - MFC, ATL, WTL, etc.,) are entirely two different things. They exist to solve different problem sets and they cater to different consumers. During the old days, there was not much of anything more than C/C++. There was another language known as VB, which was catering to an entirely different mass of programmers. VB was too easy to learn, someone quoted "as easy as falling a flight of stairs". But it had several drawbacks, which I won't be listing up here. So, C/C++ was the prominent choice if you wanted to build high quality, efficient programs. Then the .NET framework came along, which introduced a lot of new features, which would be very difficult if you were to achieve that with C++. So, the world witnessed a whole new array of fresh .NET programmers (programming became easy) and another mass of C++ guys shifted to .NET, even the "Big Dogs" of the C++ game (some of them being passionate towards technology, wanting to learn the new stuff, some other moved because .NET was easier to do and was the upcoming trend). With the days, .NET has grown to be a true giant, and is the choice for developing large scale business applications which usually involves networking, databases, client/servers, dynamic web-pages, etc. As you've come from .NET background, I don't have to explain you how good is .NET while dealing with these things. It is the absolute gun, and C++ is no rival. But don't forget it: What .NET can do, C++ CAN do, faster, with lesser dependencies and cripples, lesser resources. But the cost and time of production will increase logarithmically and you will have to do a LOT of work yourself. For example, when I had to write a server program that will be running 24x7, I wrote it in C#. Why? Because I don't have to bother about garbage collection or a remotest possible memory damage bug or memory fragmentation. But, when I had to write a program that will interpret bytes from a semi-intelligent terminal, before that is sent to the printer port and do some real-time processing on the buffer, I wrote it in C. Why? Because performance is of paramount importance there (read the word real-time?) When it boils down to system side programming (desktop application development, device drivers, writing new funky frameworks like - uh... .NET, etc.,), C++ is the absolute choice.

    C Offline
    C Offline
    Christian Flutcher
    wrote on last edited by
    #5

    WOW! that's a wonderful post. I appreciate your effort.

    Rajesh R Subramanian wrote:

    Theese C++ guys are the true Gurus, true Geeks

    Rajesh R Subramanian wrote:

    Please don't forget this: My compiler compiled your compiler.

    I understand and truly regret for not studying it so far. But I am on the track and expecting to be a small geek very soon. :) I have finished the "Thinking in C++" book suggested by you. No second thoughts, it was a great read. BTW, do you have any MFC book suggestions? Thanks again.

    R 1 Reply Last reply
    0
    • M Michael Schubert

      Got my 5 for this, Rajesh!

      R Offline
      R Offline
      Rajesh R Subramanian
      wrote on last edited by
      #6

      Thanks pal. Unfortunately there is a lot of MVP NDA stuff, which I cannot legally disclose. Otherwise, I could have put forward a lot of points to prove that the future plans of MS shows how much they respect Windows Programmers and that they've taken our betterment very seriously. :)

      Many are stubborn in pursuit of the path they have chosen, few in pursuit of the goal - Friedrich Nietzsche .·´¯`·->Rajesh<-·´¯`·. [Microsoft MVP - Visual C++]

      1 Reply Last reply
      0
      • C Christian Flutcher

        WOW! that's a wonderful post. I appreciate your effort.

        Rajesh R Subramanian wrote:

        Theese C++ guys are the true Gurus, true Geeks

        Rajesh R Subramanian wrote:

        Please don't forget this: My compiler compiled your compiler.

        I understand and truly regret for not studying it so far. But I am on the track and expecting to be a small geek very soon. :) I have finished the "Thinking in C++" book suggested by you. No second thoughts, it was a great read. BTW, do you have any MFC book suggestions? Thanks again.

        R Offline
        R Offline
        Rajesh R Subramanian
        wrote on last edited by
        #7

        Christian Flutcher wrote:

        BTW, do you have any MFC book suggestions?

        Surely, yes. I would recommend you the following books: Programming Windows with MFC by Jeff prosise[^] Programming Microsoft Visual C++ by David Kruglinski, Scott Wingo and George Shepherd.[^] MFC Internals by Scott Wingo and George Shepherd[^] My recommendations are in that order. There are more good books, but I can't remember any at the moment. May be you should start another thread asking for book suggestions and you'll get great help there. But there is a risk, as most of these books are old farts and MFC has changed quite a bit at least as far as UI development and controls are concerned (well, the framework remains the same) with the Visual C++ 2008 feature pack. However, there is no harm in reading those books, as they explain the fundamentals (which hasn't changed) very well.

        Many are stubborn in pursuit of the path they have chosen, few in pursuit of the goal - Friedrich Nietzsche .·´¯`·->Rajesh<-·´¯`·. [Microsoft MVP - Visual C++]

        C 1 Reply Last reply
        0
        • R Rajesh R Subramanian

          Christian Flutcher wrote:

          BTW, do you have any MFC book suggestions?

          Surely, yes. I would recommend you the following books: Programming Windows with MFC by Jeff prosise[^] Programming Microsoft Visual C++ by David Kruglinski, Scott Wingo and George Shepherd.[^] MFC Internals by Scott Wingo and George Shepherd[^] My recommendations are in that order. There are more good books, but I can't remember any at the moment. May be you should start another thread asking for book suggestions and you'll get great help there. But there is a risk, as most of these books are old farts and MFC has changed quite a bit at least as far as UI development and controls are concerned (well, the framework remains the same) with the Visual C++ 2008 feature pack. However, there is no harm in reading those books, as they explain the fundamentals (which hasn't changed) very well.

          Many are stubborn in pursuit of the path they have chosen, few in pursuit of the goal - Friedrich Nietzsche .·´¯`·->Rajesh<-·´¯`·. [Microsoft MVP - Visual C++]

          C Offline
          C Offline
          Christian Flutcher
          wrote on last edited by
          #8

          I will check those books. Thanks Rajesh :)

          1 Reply Last reply
          0
          • R Rajesh R Subramanian

            Of all your questions I've attempted, this is the toughest one, Christian. First off, .NET and C++ (I will say only C++ in this message. But, When I say C++, include the frameworks and libraries built on and around it - MFC, ATL, WTL, etc.,) are entirely two different things. They exist to solve different problem sets and they cater to different consumers. During the old days, there was not much of anything more than C/C++. There was another language known as VB, which was catering to an entirely different mass of programmers. VB was too easy to learn, someone quoted "as easy as falling a flight of stairs". But it had several drawbacks, which I won't be listing up here. So, C/C++ was the prominent choice if you wanted to build high quality, efficient programs. Then the .NET framework came along, which introduced a lot of new features, which would be very difficult if you were to achieve that with C++. So, the world witnessed a whole new array of fresh .NET programmers (programming became easy) and another mass of C++ guys shifted to .NET, even the "Big Dogs" of the C++ game (some of them being passionate towards technology, wanting to learn the new stuff, some other moved because .NET was easier to do and was the upcoming trend). With the days, .NET has grown to be a true giant, and is the choice for developing large scale business applications which usually involves networking, databases, client/servers, dynamic web-pages, etc. As you've come from .NET background, I don't have to explain you how good is .NET while dealing with these things. It is the absolute gun, and C++ is no rival. But don't forget it: What .NET can do, C++ CAN do, faster, with lesser dependencies and cripples, lesser resources. But the cost and time of production will increase logarithmically and you will have to do a LOT of work yourself. For example, when I had to write a server program that will be running 24x7, I wrote it in C#. Why? Because I don't have to bother about garbage collection or a remotest possible memory damage bug or memory fragmentation. But, when I had to write a program that will interpret bytes from a semi-intelligent terminal, before that is sent to the printer port and do some real-time processing on the buffer, I wrote it in C. Why? Because performance is of paramount importance there (read the word real-time?) When it boils down to system side programming (desktop application development, device drivers, writing new funky frameworks like - uh... .NET, etc.,), C++ is the absolute choice.

            S Offline
            S Offline
            SandipG
            wrote on last edited by
            #9

            Thanks for writing such good post..

            Regards, Sandip.

            modified on Thursday, September 25, 2008 11:32 AM

            1 Reply Last reply
            0
            • R Rajesh R Subramanian

              Of all your questions I've attempted, this is the toughest one, Christian. First off, .NET and C++ (I will say only C++ in this message. But, When I say C++, include the frameworks and libraries built on and around it - MFC, ATL, WTL, etc.,) are entirely two different things. They exist to solve different problem sets and they cater to different consumers. During the old days, there was not much of anything more than C/C++. There was another language known as VB, which was catering to an entirely different mass of programmers. VB was too easy to learn, someone quoted "as easy as falling a flight of stairs". But it had several drawbacks, which I won't be listing up here. So, C/C++ was the prominent choice if you wanted to build high quality, efficient programs. Then the .NET framework came along, which introduced a lot of new features, which would be very difficult if you were to achieve that with C++. So, the world witnessed a whole new array of fresh .NET programmers (programming became easy) and another mass of C++ guys shifted to .NET, even the "Big Dogs" of the C++ game (some of them being passionate towards technology, wanting to learn the new stuff, some other moved because .NET was easier to do and was the upcoming trend). With the days, .NET has grown to be a true giant, and is the choice for developing large scale business applications which usually involves networking, databases, client/servers, dynamic web-pages, etc. As you've come from .NET background, I don't have to explain you how good is .NET while dealing with these things. It is the absolute gun, and C++ is no rival. But don't forget it: What .NET can do, C++ CAN do, faster, with lesser dependencies and cripples, lesser resources. But the cost and time of production will increase logarithmically and you will have to do a LOT of work yourself. For example, when I had to write a server program that will be running 24x7, I wrote it in C#. Why? Because I don't have to bother about garbage collection or a remotest possible memory damage bug or memory fragmentation. But, when I had to write a program that will interpret bytes from a semi-intelligent terminal, before that is sent to the printer port and do some real-time processing on the buffer, I wrote it in C. Why? Because performance is of paramount importance there (read the word real-time?) When it boils down to system side programming (desktop application development, device drivers, writing new funky frameworks like - uh... .NET, etc.,), C++ is the absolute choice.

              M Offline
              M Offline
              Mark Salsbery
              wrote on last edited by
              #10

              Nice post Rajesh! :)

              Mark Salsbery Microsoft MVP - Visual C++ :java:

              1 Reply Last reply
              0
              • C Christian Flutcher

                I know .NET framework and C# well. Recently I started working with C++/CLI which I felt more interesting than C#. Since .NET framework is becoming popular, do you think MFC got obsolete? Are you guys doing any projects in MFC other than maintaining the legacy applications? I don't know MFC and I would like to know whether learning MFC is worth now?

                B Offline
                B Offline
                bob16972
                wrote on last edited by
                #11

                Christian Flutcher wrote:

                do you think MFC got obsolete

                MFC is hardly obsolete. We continue to use MFC for new standalone apps in our shop.

                1 Reply Last reply
                0
                • R Rajesh R Subramanian

                  Of all your questions I've attempted, this is the toughest one, Christian. First off, .NET and C++ (I will say only C++ in this message. But, When I say C++, include the frameworks and libraries built on and around it - MFC, ATL, WTL, etc.,) are entirely two different things. They exist to solve different problem sets and they cater to different consumers. During the old days, there was not much of anything more than C/C++. There was another language known as VB, which was catering to an entirely different mass of programmers. VB was too easy to learn, someone quoted "as easy as falling a flight of stairs". But it had several drawbacks, which I won't be listing up here. So, C/C++ was the prominent choice if you wanted to build high quality, efficient programs. Then the .NET framework came along, which introduced a lot of new features, which would be very difficult if you were to achieve that with C++. So, the world witnessed a whole new array of fresh .NET programmers (programming became easy) and another mass of C++ guys shifted to .NET, even the "Big Dogs" of the C++ game (some of them being passionate towards technology, wanting to learn the new stuff, some other moved because .NET was easier to do and was the upcoming trend). With the days, .NET has grown to be a true giant, and is the choice for developing large scale business applications which usually involves networking, databases, client/servers, dynamic web-pages, etc. As you've come from .NET background, I don't have to explain you how good is .NET while dealing with these things. It is the absolute gun, and C++ is no rival. But don't forget it: What .NET can do, C++ CAN do, faster, with lesser dependencies and cripples, lesser resources. But the cost and time of production will increase logarithmically and you will have to do a LOT of work yourself. For example, when I had to write a server program that will be running 24x7, I wrote it in C#. Why? Because I don't have to bother about garbage collection or a remotest possible memory damage bug or memory fragmentation. But, when I had to write a program that will interpret bytes from a semi-intelligent terminal, before that is sent to the printer port and do some real-time processing on the buffer, I wrote it in C. Why? Because performance is of paramount importance there (read the word real-time?) When it boils down to system side programming (desktop application development, device drivers, writing new funky frameworks like - uh... .NET, etc.,), C++ is the absolute choice.

                  N Offline
                  N Offline
                  Naveen
                  wrote on last edited by
                  #12

                  Rajesh R Subramanian wrote:

                  Of all your questions I've attempted, this is the toughest one

                  Of all your answers I've read, this is the best :)

                  nave [OpenedFileFinder] [My Blog]

                  1 Reply Last reply
                  0
                  • R Rajesh R Subramanian

                    Of all your questions I've attempted, this is the toughest one, Christian. First off, .NET and C++ (I will say only C++ in this message. But, When I say C++, include the frameworks and libraries built on and around it - MFC, ATL, WTL, etc.,) are entirely two different things. They exist to solve different problem sets and they cater to different consumers. During the old days, there was not much of anything more than C/C++. There was another language known as VB, which was catering to an entirely different mass of programmers. VB was too easy to learn, someone quoted "as easy as falling a flight of stairs". But it had several drawbacks, which I won't be listing up here. So, C/C++ was the prominent choice if you wanted to build high quality, efficient programs. Then the .NET framework came along, which introduced a lot of new features, which would be very difficult if you were to achieve that with C++. So, the world witnessed a whole new array of fresh .NET programmers (programming became easy) and another mass of C++ guys shifted to .NET, even the "Big Dogs" of the C++ game (some of them being passionate towards technology, wanting to learn the new stuff, some other moved because .NET was easier to do and was the upcoming trend). With the days, .NET has grown to be a true giant, and is the choice for developing large scale business applications which usually involves networking, databases, client/servers, dynamic web-pages, etc. As you've come from .NET background, I don't have to explain you how good is .NET while dealing with these things. It is the absolute gun, and C++ is no rival. But don't forget it: What .NET can do, C++ CAN do, faster, with lesser dependencies and cripples, lesser resources. But the cost and time of production will increase logarithmically and you will have to do a LOT of work yourself. For example, when I had to write a server program that will be running 24x7, I wrote it in C#. Why? Because I don't have to bother about garbage collection or a remotest possible memory damage bug or memory fragmentation. But, when I had to write a program that will interpret bytes from a semi-intelligent terminal, before that is sent to the printer port and do some real-time processing on the buffer, I wrote it in C. Why? Because performance is of paramount importance there (read the word real-time?) When it boils down to system side programming (desktop application development, device drivers, writing new funky frameworks like - uh... .NET, etc.,), C++ is the absolute choice.

                    T Offline
                    T Offline
                    ThatsAlok
                    wrote on last edited by
                    #13

                    included at my tips site, any problem please contact on phone :-) before sending legal notice...he he he

                    "Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
                    Never mind - my own stupidity is the source of every "problem" - Mixture

                    cheers, Alok Gupta VC Forum Q&A :- I/IV Support CRY- Child Relief and You/xml>

                    R 1 Reply Last reply
                    0
                    • C Christian Flutcher

                      I know .NET framework and C# well. Recently I started working with C++/CLI which I felt more interesting than C#. Since .NET framework is becoming popular, do you think MFC got obsolete? Are you guys doing any projects in MFC other than maintaining the legacy applications? I don't know MFC and I would like to know whether learning MFC is worth now?

                      T Offline
                      T Offline
                      ThatsAlok
                      wrote on last edited by
                      #14

                      I still using MFC in my applications!, last application/DLL i developed, used MFC classes in it.

                      "Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
                      Never mind - my own stupidity is the source of every "problem" - Mixture

                      cheers, Alok Gupta VC Forum Q&A :- I/IV Support CRY- Child Relief and You/xml>

                      1 Reply Last reply
                      0
                      • T ThatsAlok

                        included at my tips site, any problem please contact on phone :-) before sending legal notice...he he he

                        "Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
                        Never mind - my own stupidity is the source of every "problem" - Mixture

                        cheers, Alok Gupta VC Forum Q&A :- I/IV Support CRY- Child Relief and You/xml>

                        R Offline
                        R Offline
                        Rajesh R Subramanian
                        wrote on last edited by
                        #15

                        Legal notice? Hehe... :-D What got on my eye was - the site shows[^] the post was published on July 27th 2008. :~

                        Many are stubborn in pursuit of the path they have chosen, few in pursuit of the goal - Friedrich Nietzsche .·´¯`·->Rajesh<-·´¯`·. [Microsoft MVP - Visual C++]

                        T 1 Reply Last reply
                        0
                        • R Rajesh R Subramanian

                          Legal notice? Hehe... :-D What got on my eye was - the site shows[^] the post was published on July 27th 2008. :~

                          Many are stubborn in pursuit of the path they have chosen, few in pursuit of the goal - Friedrich Nietzsche .·´¯`·->Rajesh<-·´¯`·. [Microsoft MVP - Visual C++]

                          T Offline
                          T Offline
                          ThatsAlok
                          wrote on last edited by
                          #16

                          Rajesh R Subramanian wrote:

                          the post was published on July 27th 2008.

                          That’s unforgettable date for me... I was engaged that day... See I am giving your post special place in history

                          "Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
                          Never mind - my own stupidity is the source of every "problem" - Mixture

                          cheers, Alok Gupta VC Forum Q&A :- I/IV Support CRY- Child Relief and You/xml>

                          R 1 Reply Last reply
                          0
                          • T ThatsAlok

                            Rajesh R Subramanian wrote:

                            the post was published on July 27th 2008.

                            That’s unforgettable date for me... I was engaged that day... See I am giving your post special place in history

                            "Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
                            Never mind - my own stupidity is the source of every "problem" - Mixture

                            cheers, Alok Gupta VC Forum Q&A :- I/IV Support CRY- Child Relief and You/xml>

                            R Offline
                            R Offline
                            Rajesh R Subramanian
                            wrote on last edited by
                            #17

                            July 25 and 26 are unforgettable for me. July 25 is my best friend's birthday and 26 was the day my sister got caught up in Mumbai flood (and was rescued the same day). Chabbeese July - sounds familiar? BTW, congrats on your new endeavor. :)

                            Many are stubborn in pursuit of the path they have chosen, few in pursuit of the goal - Friedrich Nietzsche .·´¯`·->Rajesh<-·´¯`·. [Microsoft MVP - Visual C++]

                            modified on Friday, September 26, 2008 6:10 AM

                            1 Reply Last reply
                            0
                            • C Christian Flutcher

                              I know .NET framework and C# well. Recently I started working with C++/CLI which I felt more interesting than C#. Since .NET framework is becoming popular, do you think MFC got obsolete? Are you guys doing any projects in MFC other than maintaining the legacy applications? I don't know MFC and I would like to know whether learning MFC is worth now?

                              D Offline
                              D Offline
                              Daniel Kanev
                              wrote on last edited by
                              #18

                              Sometimes I prefer C++ with VCL :) Seems to have less bugs :)

                              1 Reply Last reply
                              0
                              • T toxcct

                                Christian Flutcher wrote:

                                Is MFC obsolete?

                                NO, it is NOT ! there's nothing better than native C++ coding !!! ;P

                                [VisualCalc][Binary Guide][CommDialogs] | [Forums Guidelines]

                                C Offline
                                C Offline
                                CPallini
                                wrote on last edited by
                                #19

                                toxcct wrote:

                                NO, it is NOT !

                                True.

                                toxcct wrote:

                                there's nothing better than native C++ coding !!!

                                Absolutely true. Anyway, the two sentences are...unrelated. :rolleyes: :)

                                If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
                                This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke
                                [My articles]

                                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