Thread: Where to go now?

  1. #1
    Registered User
    Join Date
    Aug 2007
    Posts
    20

    Question Where to go now?

    Hi,

    I have been learning C++ for quit a while now and feel I am confident to move onto more advanced stuff.

    My main question is what libraries should I get experience with (Boost, etc) and also what GUI libraries I should use ( WinAPI, MFC, Windows Forms (can you use these in native code?), etc ). Any help is appreciated.

    Thanks,
    Harry.

  2. #2
    Frequently Quite Prolix dwks's Avatar
    Join Date
    Apr 2005
    Location
    Canada
    Posts
    8,057
    [...] and also what GUI libraries I should use ( WinAPI, MFC, Windows Forms (can you use these in native code?), etc ).
    Presumably you are aware that all of the GUI libraries you listed are Windows-specific. I don't like platform-specific stuff myself, but if you want to learn unportable code, that's up to you. The portability of those libraries probably wouldn't be a problem if you only intend to support Windows, but still, you should be aware of it.

    If you want to check out portable GUI libraries, do a board search. Something like wxWidgets might work.

    Boost, on the other hand, is very portable, and I highly recommend it.
    dwk

    Seek and ye shall find. quaere et invenies.

    "Simplicity does not precede complexity, but follows it." -- Alan Perlis
    "Testing can only prove the presence of bugs, not their absence." -- Edsger Dijkstra
    "The only real mistake is the one from which we learn nothing." -- John Powell


    Other boards: DaniWeb, TPS
    Unofficial Wiki FAQ: cpwiki.sf.net

    My website: http://dwks.theprogrammingsite.com/
    Projects: codeform, xuni, atlantis, nort, etc.

  3. #3
    Kernel hacker
    Join Date
    Jul 2007
    Location
    Farncombe, Surrey, England
    Posts
    15,677
    I don't know how much you've done in your effort to learn C++, but I think the "next step" would be a real application that is "complete", rather than some simple excercises that are solved in some few dozen or hundreds of lines of code.

    Writing GUI applications is certainly something that is useful to learn.

    So find a project where you need GUI for the user interface, and write the application to do that. I can't give you a good example, but perhaps a CD collection database, or a photo organizer or something like that. Keeping track of your daily milage in the car and your fuel purchases to calculate your miles per gallon (or 100km/liter - or better let the user choose units) [1]

    [1] Note that gallons are not the same size in the US and UK, UK ones are 20% larger (4.5 liter vs 3.8 liter, with two significant digits).

    --
    Mats

  4. #4
    Registered User
    Join Date
    Dec 2006
    Location
    Canada
    Posts
    3,229
    also have a look at Qt, an open-source cross-platform library that includes GUI, networking, simple threading, etc.

  5. #5
    Registered User
    Join Date
    Aug 2007
    Posts
    20

    Thanks

    Thanks for that guys, that is really helpful.

    In responce to

    Presumably you are aware that all of the GUI libraries you listed are Windows-specific
    Yes I am aware and I must apologize for not stating that I would be building apps for Windows Platfom only.

    I will try everything you guys said.

    Thanks,
    Harry.

  6. #6
    Registered User
    Join Date
    Jul 2006
    Posts
    162
    what i do, personally, is i set a goal for myself first, something that was absurdly unreal to me a few years ago was "how do people write audio visualizations?" damn did that question open some doors.

    now i had a direction, and nothing helps build that key bit of confidence like you know that everything you do will end with a reward.

    i jumped in to the high level stuff, conceptual information of audio signals, filters, modulation, aliasing, understood principles and standards. i knew what an audio signal was, now where does it come from in the computer? read in to the audio cards and data formatting, and eventually learned about audio libraries.

    i saw openal was popular and there was enough information on it to work with. my goal was then to understand the language of audio programming, and the programming concepts to be successful at capturing an audio stream.

    what happens when i have a stream? i realized these were numbers over time, amplitude of the signal, given within a certain (specified) bit-depth. numbers can be translated to color, position, etc... i thought "i bet there's a good library for rendering graphics." sure enough, opengl.

    i learned how to get a project set up via dev-c++ and the rest is history...

    i learned the language, about how to use and configure the compiler, how to include and link libraries, and how to manipulate information at a low level, because i worked towards a goal that required knowing how to do just that.

    most importantly i didn't quit, even if i thought i was stuck, you're never stuck.

    i still do this stuff now because i enjoyed it so much, but i've expanded my wings in to more adv mathematics to learn about visually rendering fascinating shapes and doing analysis on information... you can really get carried away... i certainly have.

    ... set unrealistic goals that you care about, that's what you should do, then you'll -always- know what to do "next." ;-)
    (the next step in a process is easier to figure out than in the unkown... i think...)
    Last edited by simpleid; 08-12-2007 at 02:03 AM.

Popular pages Recent additions subscribe to a feed