Hey there! Sign in to join this conversationNew here? Join for free
    Offline

    2
    ReputationRep:
    (Original post by MickyT)
    OP was looking at learning a GUI aspect of C++ programming, not necessarily writing applications for the average windows user.
    IMHO Learning about UNIX architectures and systems programming should be a part of learning C\C++ seeing as C was originally developed for use with UNIX. Not to mention the fact that most university computer science courses, if they teach C/C++, generally teach using a UNIX environment.

    Developing with Cygwin is a painless alternative to installing a *NIX distribution if you are just programming for learning purposes. NetBeans with the C++ add-on and Cygwin makes it extremely easy, its two installers maximum (and maybe adding to your PATH ). Granted it’s not ideal as programming in a native environment (you could run into hiccups later on) but it’s a start.



    That was just me being pedantic I knew what you were getting at
    e.g. If POSIX is a standard, then "more standard POSIX implementations " doesn't make sense. It would be equivalent to saying, "more standard standard implementations".
    Should be “Winsock is compatible with POSIX sockets” ^_^.

    As you have probably guessed, I’m more than a little biased against developing using Win32 as a platform from a learning standpoint. However I do realise that if you don’t learn to program using WinAPI’s you can disadvantage yourself.


    We seem to have veered a little off topic OP is probably long gone but if not here is something for his benefit.

    Brief summary for OP
    You could look into the following for GUI creation (In no special order):
    The WinAPI – Can be quite confusing but worthwhile learning if you would like to learn about programming for windows platforms
    Qt – a quick development framework, easy to learn but not windows specific.
    OpenGL – Graphics programming, fun to play with.

    Or if you want to look at more advanced programming techniques which aren’t specifically GUI related:
    WinAPI threads/Winsock - windows sockets, compatible with POSIX, similar syntax. Win API threads, if you want to learn multi threading I suggest reading up on either POSIX threads or the boost::threads class as the new C++ standard will be based on POSIX threads (boost::threads is just an implementation of the new standard at the moment)
    POSIX threads/sockets – The de facto standard of socket programming Note that in C++0x the next C++ standard that there will be a generic thread class based on POSIX threads, so reading up on the pthreads library should prepare you for C++0x’s threads.
    Off-topic though it might be, it's still a constructive discussion.

    Surely part and parcel of learning to program for a particular platform is using the constructs that platform provides; in this case the Win32 API (and Winsock where sockets are concerned). In an ideal world, yes, we'd all be using less proprietary, more standardised APIs but obviously we don't and learning to program Windows properly using its APIs is nonetheless a very valuable skill if you want to write GUI apps in C++.

    Yes, OP didn't explicitly ask about socket programming etc. but we are simply suggesting that he should spend more time on "general" C++ programming, possibly learning more from these areas, before moving onto the very full-on Winapi.
    Offline

    0
    ReputationRep:
    (Original post by trolololol)
    Off-topic though it might be, it's still a constructive discussion.
    Agreed, just thought I'd sum up the previous posts for OP (partialy for my benifit I have to admit xD)

    (Original post by trolololol)
    Surely part and parcel of learning to program for a particular platform is using the constructs that platform provides; in this case the Win32 API (and Winsock where sockets are concerned). In an ideal world, yes, we'd all be using less proprietary, more standardised APIs but obviously we don't and learning to program Windows properly using its APIs is nonetheless a very valuable skill if you want to write GUI apps in C++.
    Can't fault the logic there, I suppose one advantage of learning Qt on the other hand is that its cross platform so you don't have to re-learn when crossing between Win/*NIX systems.
    But yes, if your target platform is a Win32 system, learning the Win32 API will be very helpful.
    Offline

    2
    ReputationRep:
    (Original post by MickyT)
    Agreed, just thought I'd sum up the previous posts for OP (partialy for my benifit I have to admit xD)


    Can't fault the logic there, I suppose one advantage of learning Qt on the other hand is that its cross platform so you don't have to re-learn when crossing between Win/*NIX systems.
    But yes, if your target platform is a Win32 system, learning the Win32 API will be very helpful.
    Shame he doesn't actually seem to be here anymore

    Are you a computer science student/graduate? You certainly seem to know what you're talking about anyway.
    Offline

    0
    ReputationRep:
    You certainly seem to know what you're talking about anyway.
    Thanks, it's always a good sign if someone else thinks you know what you are talking about xD. You seem to be learned yourself.

    Are you a computer science student/graduate?
    I've got a place at imperial for next year to do a MEng in C.S. I've been trying to learn as much as I can before I get to imperial.

    I've been coding in C++ for about 7/8 years or so, I'd say really most of the learning that I have gone through has been in the last 2/3 though.
    I also want to eventually help the development effort for the linux kernel.
    Offline

    3
    ReputationRep:
    If you're building a GUI in C++ and you're not using Nokia Qt, then I have absolutely no idea what you are doing with your programming life.

    MickyT, don't kid yourself. Win32 API is absolutely not neccessary to know nowadays and is a pain in the ass.
    Offline

    14
    ReputationRep:
    (Original post by coldplasma)
    If you're building a GUI in C++ and you're not using Nokia Qt, then I have absolutely no idea what you are doing with your programming life.

    MickyT, don't kid yourself. Win32 API is absolutely not neccessary to know nowadays and is a pain in the ass.
    Can Qt match the look and feel of standard Windows applications? Stuff like using the standard Windows open file dialog. I find it annoying using an app that doesn't use the standard Windows dialogs because they're never as functional.
    Offline

    3
    ReputationRep:
    Absolutely.
    Offline

    2
    ReputationRep:
    http://en.wikipedia.org/wiki/Wxwidgets
 
 
 
  • See more of what you like on The Student Room

    You can personalise what you see on TSR. Tell us a little about yourself to get started.

  • Poll
    What newspaper do you read/prefer?
    Useful resources
  • See more of what you like on The Student Room

    You can personalise what you see on TSR. Tell us a little about yourself to get started.

  • The Student Room, Get Revising and Marked by Teachers are trading names of The Student Room Group Ltd.

    Register Number: 04666380 (England and Wales), VAT No. 806 8067 22 Registered Office: International House, Queens Road, Brighton, BN1 3XE

    Quick reply
    Reputation gems: You get these gems as you gain rep from other members for making good contributions and giving helpful advice.