Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
CODE PROJECT For Those Who Code
  • Home
  • Articles
  • FAQ
Community
  1. Home
  2. The Lounge
  3. Back to the basics: win32 programming

Back to the basics: win32 programming

Scheduled Pinned Locked Moved The Lounge
csharpc++questiondotnetcom
30 Posts 18 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R Rocky Moore

    If you know MFC and have been working in it for "Some time" (assuming that is not just the weekend), then WIN32 should be no biggy. That said, it probably still is not worth the time to bother unless required. Spend the time either writing code that will remain worth while or go out and enjoy some time away from the computer. You can always learn WIN32 if you should need to, but you probably will not find the need. The .NET frameworks has already taken over and will continue to do so. Everything else is fast becoming legacy and there is more value in staying current than learning legacy stuff. One thing to note, is .NET is not a language, it is a framework or more or less a platform. You can still make Win32 calls if you ever feel in the mood and you can still work in C++ if you find you need to waste all that time typing and debugging code. It is not out to replace C++, it is just that many of us old time C++ people found that we can bend a little and reap huge levels of productivity, which is much more valuable to us than tracking down a null pointer or a mismatched DLL signature ;) Rocky <>< www.HintsAndTips.com - Now with "Recommendation" postings www.JokesTricksAndStuff.com www.MyQuickPoll.com - Now with Recent Poll List www.GotTheAnswerToSpam.com - Again :)

    J Offline
    J Offline
    Jeremy Falcon
    wrote on last edited by
    #18

    It is not out to replace C++, it is just that many of us old time C++ people found that we can bend a little and reap huge levels of productivity Interesting, VB programmers have been saying that for over a decade. But, C++ programmers still insulted them regardless. But, now it's ok because C# has the letter "C" in it right? Jeremy Falcon

    J R 2 Replies Last reply
    0
    • G generic_user_id

      Greetings cpians! I'm currently facing the following dilemma: should I learn the Win32 API in depth, or is it not worth it anymore with .NET having arrived? I've programmed with MFC for some time, but because I started programming MFC without building anything even remotely complex with only the win32 api I never really learned how things worked on the API level. I'm thinking about getting either Win32 Programming (Joseph M. Newcomer, Brent E. Rector)[^] or Programming Windows 5th (Petzold)[^].Which book should I get? Alternatively, I could focus my effords on C# and the .NET framework as a whole. Although I think that .NET is neat, I don't think it's likely .NET languages will replace c++ altogether, therefore knowing win32 is probably useful in the long term as well. So, what to do? Cordially, Diederik P.s: For those who do consider this a programming question (even though it ain't) I'll save you the bother of looking up the link. It's here[^].

      S Offline
      S Offline
      Stuart van Weele
      wrote on last edited by
      #19

      I would learn enough of Win32 to understand how Windows creates and destroys things, and how messages are passed around the system. If you understand than then understanding everything else built on top of it becomes much easier.

      1 Reply Last reply
      0
      • G Graham Bradshaw

        I think a lot of it depends on who your target audience is. For "in-house" development, .NET would probably be the way to go, but without an understanding of the fundamentals of Windows programming using "classic" Win32, I think you will struggle. If you are developing commercial software for sale, it has to be Win32 all the way. While I'm sure there is some, I have yet to come across any mass-market, shrink-wrap software that uses .NET.

        J Offline
        J Offline
        Judah Gabriel Himango
        wrote on last edited by
        #20

        PrintShop 20 Deluxe PringShop 20 Professional Publisher Windows Media Center Edition Logitec Digital Pen Some Quicken distros SourceGear Vault Matrox PowerDesk Symantec DriveImage 7.0 Symantec V2i Protector Autocad 2005 (although I haven't confirmed this one) GoalCentrix LlamaGraphics Just to name a few. I also heard that ATI used .NET in part of their driver package, but I haven't confirmed that.

        Any remotely useful information on my blog will be removed immediately. Judah Himango

        1 Reply Last reply
        0
        • realJSOPR realJSOP

          In San Antonio, there were VERY FEW jobs available for anything other than DBAs. Of the jobs that weren't DBA, most were for C++ with a smattering of Java, and nothing for .NET. That was in May/June of 2004. My current job requires C++ with heavy MFC knowledge. They're still debating whether or not they'll even move to VC7, and there has been absolutely no discussion of going to managed code, C#, or .NET. ------- sig starts "I've heard some drivers saying, 'We're going too fast here...'. If you're not here to race, go the hell home - don't come here and grumble about going too fast. Why don't you tie a kerosene rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

          A Offline
          A Offline
          Andy Brummer
          wrote on last edited by
          #21

          I just got a .Net job in Austin and when I was looking it was about an even mix between C++/MFC, C#, and Java. But the corporate stuff was almost all either .Net or Java.


          I can imagine the sinking feeling one would have after ordering my book, only to find a laughably ridiculous theory with demented logic once the book arrives - Mark McCutcheon

          1 Reply Last reply
          0
          • J Jeremy Falcon

            It is not out to replace C++, it is just that many of us old time C++ people found that we can bend a little and reap huge levels of productivity Interesting, VB programmers have been saying that for over a decade. But, C++ programmers still insulted them regardless. But, now it's ok because C# has the letter "C" in it right? Jeremy Falcon

            J Offline
            J Offline
            Judah Gabriel Himango
            wrote on last edited by
            #22

            Jeremy Falcon wrote: But, now it's ok because C# has the letter "C" in it right? No, it's the curly brackets. ;)

            Any remotely useful information on my blog will be removed immediately. Judah Himango

            J 1 Reply Last reply
            0
            • J Judah Gabriel Himango

              Jeremy Falcon wrote: But, now it's ok because C# has the letter "C" in it right? No, it's the curly brackets. ;)

              Any remotely useful information on my blog will be removed immediately. Judah Himango

              J Offline
              J Offline
              Jeremy Falcon
              wrote on last edited by
              #23

              :-D Jeremy Falcon

              1 Reply Last reply
              0
              • M Member 96

                Well you didn't say if it was a hobby or not, if it's a hobby do what you please, if you plan to feed a family for the forseable future, go directly to .net. Much of Win32 is UI related for obvious reasons and Microsoft seems lately to be hell bent on making that UI code obsolete. If this was 1988 I would recommend Win32, but I couldn't in any honesty give you one good reason to learn it now, it's starting to get pretty stale. If you want a career maintaining someone else's code that was written circa 1990 to 2002 for the rest of your life by all means learn win32, no responsible company is going to use it to write anything beyond drivers in short order. In fact even ATI now requires .net to install their latest video drivers (for the utility programs). Your not going to get and easy answer to this question here, there is a huge bias for win32 and a huge bias against .net (or at least there has been up to a few months ago) so don't expect a truly "agnostic" answer. You will likely also get a lot of people who will advocate that you should learn win32 because it's "Important" to know that kind of thing even if you are programming in a higher level language. That argument has always been utter hogwash, if you have the time and are curious fine, if you want to make a living stick to knowing what you need to know first, a professional programmer can make an excellent living (and write professional grade code) knowing absolutely nothing about win32 internals. If it's for work then you might want to take a look at the jobs being offered that you might be going after some day and see what they require. In all honesty, the last time I looked I think there were far more Java jobs than anything else on offer for corporate work, but that might have changed lately.

                G Offline
                G Offline
                generic_user_id
                wrote on last edited by
                #24

                [Message Deleted]

                N 1 Reply Last reply
                0
                • G generic_user_id

                  [Message Deleted]

                  N Offline
                  N Offline
                  Nemanja Trifunovic
                  wrote on last edited by
                  #25

                  Diederik van Houten wrote: You think Win32 knowledge is completely redundant when using .NET He is wrong. In this .NET book[^] a whole chapter (I believe it is the sample chapter that can be read on-line) is about advanced WinForms details, and it is all about Win32 message handling. I have yet to see a real-life .NET desktop project where there are no calls to Win32 API functions.


                  My programming blahblahblah blog. If you ever find anything useful here, please let me know to remove it.

                  1 Reply Last reply
                  0
                  • J Jeremy Falcon

                    It is not out to replace C++, it is just that many of us old time C++ people found that we can bend a little and reap huge levels of productivity Interesting, VB programmers have been saying that for over a decade. But, C++ programmers still insulted them regardless. But, now it's ok because C# has the letter "C" in it right? Jeremy Falcon

                    R Offline
                    R Offline
                    Rocky Moore
                    wrote on last edited by
                    #26

                    Quit using those dirty four letter words "VeBe"! Whack yourself on the backside for even mentioning it :) Rocky <>< www.HintsAndTips.com - Now with "Recommendation" postings www.JokesTricksAndStuff.com www.MyQuickPoll.com - Now with Recent Poll List www.GotTheAnswerToSpam.com - Again :)

                    J 1 Reply Last reply
                    0
                    • S Stuart van Weele

                      Just wrote a small service to monitor a serial port, analyze the results, and send status out via UDP using Win32. I selected Win32 for its advantages in size and speed.

                      C Offline
                      C Offline
                      Christian Graus
                      wrote on last edited by
                      #27

                      By projects, I didn't mean small stuff like this. The topic at hand was using Win32 to provide a GUI, over MFC, or at least I thought it was. I am sure the advantages you speak of exist, but I doubt they would be noticable over an MFC app on any remotely modern machine. Christian I have several lifelong friends that are New Yorkers but I have always gravitated toward the weirdo's. - Richard Stringer

                      S 1 Reply Last reply
                      0
                      • R Rocky Moore

                        Quit using those dirty four letter words "VeBe"! Whack yourself on the backside for even mentioning it :) Rocky <>< www.HintsAndTips.com - Now with "Recommendation" postings www.JokesTricksAndStuff.com www.MyQuickPoll.com - Now with Recent Poll List www.GotTheAnswerToSpam.com - Again :)

                        J Offline
                        J Offline
                        Jeremy Falcon
                        wrote on last edited by
                        #28

                        I am ashamed. :) Jeremy Falcon

                        1 Reply Last reply
                        0
                        • C Christian Graus

                          By projects, I didn't mean small stuff like this. The topic at hand was using Win32 to provide a GUI, over MFC, or at least I thought it was. I am sure the advantages you speak of exist, but I doubt they would be noticable over an MFC app on any remotely modern machine. Christian I have several lifelong friends that are New Yorkers but I have always gravitated toward the weirdo's. - Richard Stringer

                          S Offline
                          S Offline
                          Stuart van Weele
                          wrote on last edited by
                          #29

                          MFC and .Net both have huge libraries that need to be somehow loaded, also MFC really does nothing useful with serial ports or UDP. If it was a small / medium sized app with a UI, I would use WTL. Has almost all of the functionality of MFC in a much smaller footprint.

                          C 1 Reply Last reply
                          0
                          • S Stuart van Weele

                            MFC and .Net both have huge libraries that need to be somehow loaded, also MFC really does nothing useful with serial ports or UDP. If it was a small / medium sized app with a UI, I would use WTL. Has almost all of the functionality of MFC in a much smaller footprint.

                            C Offline
                            C Offline
                            Christian Graus
                            wrote on last edited by
                            #30

                            I'm not arguing with any of these points, just saying that in this day and age, I doubt anyone will notice the difference :-) Christian I have several lifelong friends that are New Yorkers but I have always gravitated toward the weirdo's. - Richard Stringer

                            1 Reply Last reply
                            0
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            • Login

                            • Don't have an account? Register

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Categories
                            • Recent
                            • Tags
                            • Popular
                            • World
                            • Users
                            • Groups