View Poll Results: which u prefer in programming

Voters
16. You may not vote on this poll
  • MFC libraries

    5 31.25%
  • plain Winapp

    11 68.75%

Thread: MFC vs. WinApp

  1. #31
    Registered User Dual-Catfish's Avatar
    Join Date
    Sep 2001
    Posts
    802
    Out of curiosity what do YOU use?
    Which do I use? MFC. I don't prefer it over the WinAPI, it just means I don't have to repeatedly throw up on my keyboard while coding. I plan on looking into C# when I want to really start coding for windows, right now it's just little utilities and such.

    MFC is slow.... hmmm somewhat slower than straight API but faster than everything else.
    What's "everything else"?

    It's the closest you can get to actually talking to windows. Everything else is a shell around the API.
    Okay, does this make it any less retarded?

  2. #32
    looking for the truth moemen ahmed's Avatar
    Join Date
    Feb 2002
    Location
    Egypt
    Posts
    161
    I didnt get yet any strong reason to describe MFC as a weak archetcure !!!

    may I ask about any other helpfull libraries for windows programming in C++ except MFC?
    Programming is a high logical enjoyable art for both programer and user !!

  3. #33
    Unregistered
    Guest
    Strong reason ??

    MFC was made by Microsoft..

    did you ever use their Blundows operating system?? if you did, you'll know...
    MFC is not fun to write big programs.. could be horrible.

  4. #34
    Registered User
    Join Date
    Jul 2002
    Posts
    273
    Well, I have to admit that I'm not as anti-Microsoft as a lot of people are. In fact, I think Windows was well done in large part. *ducks to avoid flying objects*

    I think MFC is a poor architecture because it violates several things that I would call good design. I know that design is a matter of preference but a few of these things are widely accepted in C++.

    1. It is macro heavy for virtually no good reason.
    2. To use a control that is SET IN STONE you derive from it thus violating the correct is-a has-a relationship (as discussed previously).
    3. It uses exported classes which is not compiler or version independant and requires either static linking or multiple versions of the same dll. Any good COM discussion should explain this one to you.
    4. It basically is nothing more than a thin wrapper around the API (with a few exceptions) and this does not simplify anything. If you are learning MFC, you are learning JUST AS MUCH as if you just learned the API.

    that's all I can think of right now.

    Originally posted by Dual-Catfish

    What's "everything else"?
    VB, Java, Delphi, etc... other ways of coding for windows.
    Last edited by Hershlag; 07-12-2002 at 06:42 AM.

  5. #35
    TK
    Guest
    Originally posted by moemen ahmed
    I didnt get yet any strong reason to describe MFC as a weak archetcure !!!

    may I ask about any other helpfull libraries for windows programming in C++ except MFC?
    QT's API runs on both MS Windows and Linux/Unix. Maybe even Solaris.

    MFC isn't an architecture, it is a solution to an architecture. I have heard that MFC is poor OOP design however I have not investigated the reasons. This is even mentioned in Charles Petzolds book on Win32. MFC is an Adapter, also known as wrapper classes.

    Motivation for an Adapter pattern: Sometimes a toolkit class that's designed for reuse isn't reusable only because its interface doesn't match the domain-specific interfaces an application requires.

  6. #36
    Unregistered
    Guest
    Originally posted by Hershlag Well, I have to admit that I'm not as anti-Microsoft as a lot of people are. In fact, I think Windows was well done in large part. *ducks to avoid flying objects*
    And you can tell this from an interface? Remember you are looking at an interface, not an implementation. I think that the Win32 API is terrible.

  7. #37
    Registered User
    Join Date
    Jul 2002
    Posts
    273
    I'm not talking about their code obviously. the operating system architecture on the binary level can be seen by all though, DLLs and such. besides I'm mostly talking about the general reliability and usability that everyone likes to complain about.

    you should register so we can put a name to the comment

  8. #38
    looking for the truth moemen ahmed's Avatar
    Join Date
    Feb 2002
    Location
    Egypt
    Posts
    161
    so ppl what ll be ur advice to someone whos a newbie to windows programming(in c++) to learn MFC,winAPI......or what ???

    books and tutorials ll be nice with ur reply
    Programming is a high logical enjoyable art for both programer and user !!

  9. #39
    Registered User
    Join Date
    Jul 2002
    Posts
    273
    depends on how much of a newbie you are to C/C++. If you are very good with C/C++ I say go for WinAPI (you knew I would say that) Otherwise try out VB or something. Windows in C/C++ is tough for a lot of people and takes a lot of practice. Give it a shot though.

    but understand that if you learn MFC you should take a look at the straight API. You'll realize that they are the same thing. MFC is just a wrapper. You'll have to decide if you WANT a wrapper like the rest of these people.

    Book -> Petzold - Win32 Programming

  10. #40
    looking for the truth moemen ahmed's Avatar
    Join Date
    Feb 2002
    Location
    Egypt
    Posts
    161
    first thanks for responding
    definitly im not into stepping back to VB( i used to program in VB, in fact till now i gain money by making programs in VB) but i chose to step into C++. so i ve already learnt alot about c++ and im now ready to go to windows programming

    so I think that learning more about API ll be the right choice (as I already used some WinAPI in VB)

    ty
    Programming is a high logical enjoyable art for both programer and user !!

  11. #41
    TK
    Guest
    When you use C++ or any structural lightweight language you should strive for generic design. Learn how to plan, learn how to identify with solutions technologies (design patterns) that are used to solve architectural constraints. Only than can you know what to use, and what you need.

  12. #42
    Registered User
    Join Date
    Jul 2002
    Posts
    273
    Originally posted by TK
    When you use C++ or any structural lightweight language you should strive for generic design. Learn how to plan, learn how to identify with solutions technologies (design patterns) that are used to solve architectural constraints. Only than can you know what to use, and what you need.
    I couldn't agree more. especially with the generic design comment. People fail to create reusable code when they don't strive for this. It is part of the glory of OOP, so don't forget about it! And I do agree that it depends on what he's trying to accomplish. That's why I suggested VB as a possibility. It makes him a different dev type but it is a valuable/fast paced method of development.

  13. #43
    TK
    Guest
    Originally posted by Hershlag
    You are more adept at C++ than I am currently, however you don't seem to understand where the solution tehnologies originated, nor do you support the the purpose of the langauge.

  14. #44
    Registered User
    Join Date
    Jul 2002
    Posts
    273
    Originally posted by TK

    You are more adept at C++ than I am currently, however you don't seem to understand where the solution tehnologies originated, nor do you support the the purpose of the langauge.
    What are you talking about, I wasn't arguing with you.

  15. #45
    TK
    Guest
    Who is using the C++ language? Surely it is not the developers but the vendors (used as a weapon). C++ can be used to apply solutions. The solutions are re-curring in software. Find them, they are out there, documented, and open.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. MFC Controls and Thread Safety :: MFC
    By kuphryn in forum Windows Programming
    Replies: 0
    Last Post: 12-06-2002, 11:36 AM
  2. WIndows programming?
    By hostensteffa in forum Windows Programming
    Replies: 7
    Last Post: 06-07-2002, 08:52 PM
  3. Release MFC Programs & Dynamic MFC DLL :: MFC
    By kuphryn in forum Windows Programming
    Replies: 2
    Last Post: 05-18-2002, 06:42 PM
  4. Beginning MFC (Prosise) Part III - Now What? :: C++
    By kuphryn in forum C++ Programming
    Replies: 5
    Last Post: 03-03-2002, 06:58 PM
  5. MFC is Challenging :: C++
    By kuphryn in forum C++ Programming
    Replies: 8
    Last Post: 02-05-2002, 01:33 AM