Ready for Windows?

This is a discussion on Ready for Windows? within the C++ Programming forums, part of the General Programming Boards category; How much time do I need to spend on console programming before getting into Windows? - or to put it ...

  1. #1
    -JM
    -JM is offline
    Registered Usurer
    Join Date
    Apr 2005
    Location
    upstate NY
    Posts
    79

    Ready for Windows?

    How much time do I need to spend on console programming before getting into Windows?

    - or to put it another way -

    What skill set is necessary to begin Windows programming?

    I've been working at this on my own in my 'spare time' for a while now but I'd really like
    to start working with MIDI on some musical applications. It seems like that requires some understanding of Windows programming and the 'MIDI API' whatever that is. (Already got the link, thank you - )

    I've got the Petzold book across the room waiting for me - how much dues do I have to pay? How long do I have to stare at the black rectangle??

    -JM
    Huh?

  2. #2
    MFC killed my cat! manutd's Avatar
    Join Date
    Sep 2006
    Location
    Boston, Massachusetts
    Posts
    870
    I think after a two years if you are a quick learner, or three-four if you are a little slower, should be fine. It's really not that hard, you just have to get used to a little different way of thinking (aka in messages).
    Silence is better than unmeaning words.
    - Pythagoras
    My blog

  3. #3
    and the hat of wrongness Salem's Avatar
    Join Date
    Aug 2001
    Location
    The edge of the known universe
    Posts
    32,434
    Windows is just an API (you'll learn many APIs in a programming career).

    Once you have the basics of C++ (like simple classes, some inheritance perhaps) and some bits of the STL, then you should be able to make a start. Experience with both will grow in time.

    > How long do I have to stare at the black rectangle??
    Forever (perhaps).
    I still test new ideas out in simple console programs because they avoid all the fluff which comes with producing even simple "hello world" in a windows program (even with wizards).

    Every algorithm and technique can be tested out (and learnt) at the console prompt.
    If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
    If at first you don't succeed, try writing your phone number on the exam paper.
    I support http://www.ukip.org/ as the first necessary step to a free Europe.

  4. #4
    MFC killed my cat! manutd's Avatar
    Join Date
    Sep 2006
    Location
    Boston, Massachusetts
    Posts
    870
    Same here, Salem. I often test my algorithms and down low stuff in the console first to eliminate another level of complexity (the Win32 API), then put the code I know works into a pretty GUI window.
    Silence is better than unmeaning words.
    - Pythagoras
    My blog

  5. #5
    Its hard... But im here swgh's Avatar
    Join Date
    Apr 2005
    Location
    England
    Posts
    1,475
    Hence the reason we all love and adore console. It's quick and simple(ish) for test programs
    I'm just trying to be a better person - My Name Is Earl

  6. #6
    Registered User
    Join Date
    Apr 2003
    Posts
    2,662
    How much time do I need to spend on console programming before getting into Windows?
    Windows programming is a jungle. And the first time you enter, you'll get eaten alive.

  7. #7
    The superhaterodyne twomers's Avatar
    Join Date
    Dec 2005
    Location
    Ireland
    Posts
    2,262
    >> Windows programming is a jungle. And the first time you enter, you'll get eaten alive.

    It killed me ... it's deadly. Pits of despair. ROUS', lightening sand ... but I mainly lost patience. Not to say I didn't enjoy what I learnt, but didn't see the need for myself to learn it so wasn't really motivated to expand what I had learnt. Will pick it up again if I have time.

  8. #8
    pwns nooblars
    Join Date
    Oct 2005
    Location
    Portland, Or
    Posts
    1,094
    wxWidgets ftw.

  9. #9
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Portugal
    Posts
    7,412
    Quote Originally Posted by Wraithan
    wxWidgets ftw.
    Couldn't have said it better. And... it's portable!
    The programmer’s wife tells him: “Run to the store and pick up a loaf of bread. If they have eggs, get a dozen.”
    The programmer comes home with 12 loaves of bread.


    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  10. #10
    MFC killed my cat! manutd's Avatar
    Join Date
    Sep 2006
    Location
    Boston, Massachusetts
    Posts
    870
    I also vote for wxWidgets. That being said, knowing the Win32 API will help you if you decide to persue this as a career.
    Silence is better than unmeaning words.
    - Pythagoras
    My blog

  11. #11
    semi-colon generator ChaosEngine's Avatar
    Join Date
    Sep 2005
    Location
    Chch, NZ
    Posts
    597
    Quote Originally Posted by manutd
    I also vote for wxWidgets.
    Me too. It's a much cleaner API, portable and it has a python binding too! However, compared to win32/mfc, almost no-one uses it.

    Quote Originally Posted by manutd
    That being said, knowing the Win32 API will help you if you decide to persue this as a career.
    While I partially agree with this, I'd say that a large majority of new GUI application development on windows is now being done in C#, and quite rightly too. Win32 is one of the worst API's ever inflicted upon developers.

    Bottom line:
    • if you want to develop your own GUI programs on windows, you may as well use wxWidgets (it's better than Win32 and x-platform)
    • if you want a job programming windows only GUIs, learn C#
    • if you want to spend the rest of your life maintaining someone else's unreadable c code, Win32 is the API for you!
    "I saw a sign that said 'Drink Canada Dry', so I started"
    -- Brendan Behan

    Free Compiler: Visual C++ 2005 Express
    If you program in C++, you need Boost. You should also know how to use the Standard Library (STL). Want to make games? After reading this, I don't like WxWidgets anymore. Want to add some scripting to your App?

  12. #12
    MFC killed my cat! manutd's Avatar
    Join Date
    Sep 2006
    Location
    Boston, Massachusetts
    Posts
    870
    People do still use the Win32 API, but you are right about C# (ugly, ugly, UGLY). However, I like the seemingly lower level view that Win32 gives you. To me it seems that when one has a Win32 backround, one is better educated about how Windws works. But hey, that's just my two cents.
    Silence is better than unmeaning words.
    - Pythagoras
    My blog

  13. #13
    -JM
    -JM is offline
    Registered Usurer
    Join Date
    Apr 2005
    Location
    upstate NY
    Posts
    79
    Since I already dropped the $$$ for Petzold I plan to work through it, but I'll definitely check out wxWidgets - if they based Audacity on it then it must be the shizznit.

    Thanks guys, guess I'll - GULP - venture into Windows.
    Huh?

  14. #14
    MFC killed my cat! manutd's Avatar
    Join Date
    Sep 2006
    Location
    Boston, Massachusetts
    Posts
    870
    Also look at the links on top of the Windows board, particulary theforgers tutorial. Remember that MSDN is your most valuable resource.
    Silence is better than unmeaning words.
    - Pythagoras
    My blog

  15. #15
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Portugal
    Posts
    7,412
    > To me it seems that when one has a Win32 backround, one is better educated about how Windws works.

    Partially, since the Win32 API is in fact an interface API, consequently just another framework. The windows native API is a much better choice if one wants access to the nuts and bolts of Win32. However, I'm not sure if the win32 native API is as broad in scope as the win32 API. Certainly not the documented bits.

    ChaosEngine meanwhile was using ugly when referring to the win32 API, not C#. And quiet rightly so. Maybe not so much for what it offers, but for how it was presented to programmers. The naming conventions and its incapacity to evolve with time are in my opinion the two worst characteristics of the win32 API. But I could also add the lack of higher level objects capable of simplifying the most common tasks (although some may argue that's not what an API should be... I, disagree). All to the point of Microsoft being forced to develop MFC (a framework on top of what was already essentially a framework) to put some order in the chaos... which, didn't really help.

    With the .Net framework becoming a de facto standard for windows programming, the windows API is now finally losing its importance... or visibility, if you want. Solutions like WxWidgets are now ever more interesting since they are no longer the third choice for windows development, but the second.
    The programmer’s wife tells him: “Run to the store and pick up a loaf of bread. If they have eggs, get a dozen.”
    The programmer comes home with 12 loaves of bread.


    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

Page 1 of 3 123 LastLast
Popular pages Recent additions subscribe to a feed

Similar Threads

  1. continuing program until ready to stop
    By jlmac2001 in forum C++ Programming
    Replies: 2
    Last Post: 01-19-2003, 06:19 PM
  2. Am i ready for openGL???
    By tetra in forum Game Programming
    Replies: 9
    Last Post: 01-14-2003, 04:19 AM
  3. trim string function (code)
    By ipe in forum C Programming
    Replies: 9
    Last Post: 01-05-2003, 11:28 PM
  4. Is Linux ready to enter the desktop market?
    By carrja99 in forum Tech Board
    Replies: 20
    Last Post: 11-04-2002, 12:11 AM
  5. Am I ready????
    By aresashura in forum Game Programming
    Replies: 12
    Last Post: 12-20-2001, 10:08 PM

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21