Thread: C++ first?

  1. #1
    Registered User
    Join Date
    Apr 2004
    Posts
    5

    C++ first?

    Hello, I want to be able to program in win32 so I can make app with dialogs ext... (Windows Programs) should I just buy a really good book on Windows Programming, or would I have to learn all of C++? if not all, maybe just the basics? Like varibles, functions, structures ext... This I allready know, what I am not too farmilier with is Pointers,Inheritence,Polymorphisim

    Are these essential to learning to program using win32 api?

    C++ Knowlodge - Variables, constants, input/output, Looping, Functions, Arrays

    C++ Knowlodge (Very little) - Pointers, refrences, classes

    I want to jump into Windows Programming, but I am not sure, if I dont have the right knowlodge yet...

    Thanks in advance

  2. #2
    Registered User Dante Shamest's Avatar
    Join Date
    Apr 2003
    Posts
    970
    I know a friend who jumped into Win32 Programming just knowing a bit of C++. He seems to be doing fine. He is still learning C++ and Win32 together.

    So try jumping into Windows Programming, you'll soon know whether you have enough knowledge or not.

  3. #3
    Registered User
    Join Date
    Apr 2004
    Posts
    5
    Hmm, well the reason im kinda afraid to just jump into win32 is because it is a complex language, and I dont want to just waste my time, and end up learning nothing from it.

    Your friend that jumped into win32 programming, what kind of C++ knowlodge did he have?
    And how is he now? is he progressing fine?

  4. #4
    Registered User Dante Shamest's Avatar
    Join Date
    Apr 2003
    Posts
    970
    Your friend that jumped into win32 programming, what kind of C++ knowlodge did he have?
    Well, he never made it to structs before he jumped in.

    And how is he now? is he progressing fine?
    Whenever he doesn't understand something that requires C/C++ knowledge, he goes back to C/C++, learns it, and comes back to Win32.

  5. #5
    Hardware Engineer
    Join Date
    Sep 2001
    Posts
    1,398

    Wink You do NOT need to know the advanced C++ shtuff

    The Windows API doesn't require the use of classes, inheritence, polymorphisim. or the STL. This is because it doesn't use C++, it requires only C. The book Programming Windows, by Charles Petzold uses only C. The WinAPI does use a ship-load of pointers and structures.

    The only downside of jumping into Windows, is that there is a lot of Windows-specific stuff to learn, and you can get derailed from learning the C++ language... you can learn how to make your programs look good, without learning how to make good use of the underlying C++ language.

    You're right. Windows programming is complicated. I was shocked when first I got Petzolds book, and looked at his first "Hello Windows" example. It's almost two pages long, and all but a few lines are special functions, structures, and typedefs from <windows>. I thought I knew some C and C++, but most of this program was unfamiliar to me! Petzold does explain everything, but like any technical book, you have to read it slowly, and more than once!

  6. #6
    pronounced 'fib' FillYourBrain's Avatar
    Join Date
    Aug 2002
    Posts
    2,297
    In my experience, Win32 Api is harder to grasp than C/C++. C/C++ can be mostly understood once you grasp the syntax and a few keywords. Win32 is a large set of functions, structs, macros that behave in a message driven way. Once you grasp the concept of callbacks, you have most of it. The rest is memorization. But it is a LOT of memorization. Good luck anyway. I'd make sure I understood structs and function pointers first. Those are probably the biggest parts of C/C++ that will confuse the heck out of you when learning Win32.
    "You are stupid! You are stupid! Oh, and don't forget, you are STUPID!" - Dexter

  7. #7
    Registered User
    Join Date
    Apr 2004
    Posts
    5

    Post

    The Windows API doesn't require the use of classes, inheritence, polymorphisim. or the STL. This is because it doesn't use C++, it requires only C. The book Programming Windows, by Charles Petzold uses only C. The WinAPI does use a ship-load of pointers and structures.
    If that is the case then I gues im ready to jump into win32.
    I allways thought you had to learn c++, because whenever I would ask someone about win32, they allways tell me to learn c++ first.

  8. #8
    pronounced 'fib' FillYourBrain's Avatar
    Join Date
    Aug 2002
    Posts
    2,297
    Quote Originally Posted by c0der
    If that is the case then I gues im ready to jump into win32.
    I allways thought you had to learn c++, because whenever I would ask someone about win32, they allways tell me to learn c++ first.
    A lot of times, since people lump C and C++ together they refer to the both of them as one entity. I do that too sometimes.

    For giggles I made this post using Lynx. What an experience that was. Sheeeesssshhhhh!!!
    "You are stupid! You are stupid! Oh, and don't forget, you are STUPID!" - Dexter

  9. #9
    Toaster Zach L.'s Avatar
    Join Date
    Aug 2001
    Posts
    2,686
    I'd disagree with FYB. While you can write some C/C++ by learning the syntax, there are also particular types of programming and techniques that each (and sometimes both) do well that are not necessarily intuitive. An example is the millions of uses of templates in C++, and the various concepts of object-oriented design that can be made use of. I'd say learn a bit of that first, so that it is clear what is C/C++ and what is a peculiarity of Windows programming.

  10. #10
    Registered User
    Join Date
    Feb 2002
    Posts
    20
    Win32 is just an API of c/c++ (or other languages but we will only discuss c/c++ for the moment) and knowing the language is an important step to being able to use the API effectively. I recomend getting a book about the language and then working into the API.

  11. #11
    pronounced 'fib' FillYourBrain's Avatar
    Join Date
    Aug 2002
    Posts
    2,297
    Quote Originally Posted by Zach L.
    I'd disagree with FYB.
    how could you!?!?!?

    well, you're certainly entitled. I know that there's a lot to C++. I was talking about them relative to eachother. More people seem to be able to grasp C++ than can grasp Win32 programming.
    "You are stupid! You are stupid! Oh, and don't forget, you are STUPID!" - Dexter

Popular pages Recent additions subscribe to a feed