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
  1. Home
  2. The Lounge
  3. [Curiosity] What does the "average" C++ developer work on?

[Curiosity] What does the "average" C++ developer work on?

Scheduled Pinned Locked Moved The Lounge
c++comgraphicsgame-devquestion
59 Posts 32 Posters 7 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.
  • S Super Lloyd

    All in the title.. Never worked with MFC, read a book about it in 1998, tried it and couldn't get into it. Peruse a few C++ book, never found them that appealing. I did write a Uniscribe wrapper in ManagedC++, an ObjectiveC/GNUstep wrapper in ManagedC++ and some OpenGL setup code in C (tapped in with interop), that's about it for my native / C development. Neither did I work with C++ developers. So I wonder what does this strange beast do for a living?

    A train station is where the train stops. A bus station is where the bus stops. On my desk, I have a work station.... _________________________________________________________ My programs never have bugs, they just develop random features.

    T Offline
    T Offline
    tom1443
    wrote on last edited by
    #40

    Right now an embedded GUI. Previously I did desktop applications in MFC. But my first love is embedded control, especially motion control in assembly and C. I never really got into the C++ thing either although I get paid to do it now. I like to make things move and my C productivity, in spite of the myths, is much greater.

    1 Reply Last reply
    0
    • M Mechanical

      There can be no "average" C++ developers. The "average" ones have long switched to .NET and apparently "like" it. :laugh: You could never like C++ unless you know what it can do, its limitations. Its only limit is the programmer using it.

      Super Lloyd wrote:

      So I wonder what does this strange beast do for a living?

      I would imagine maintaining legacy applications, writing games, doing "Real" development, helping other html "programmers" do their jobs. And it is being killed. No more do you see jobs for C++. They all want PHP, ASP.NET, ...

      NULL

      R Offline
      R Offline
      Rob12345654321
      wrote on last edited by
      #41

      I'm not sure it's accurate to say it is being "killed". Developers are being required to know many different technologies. IMO, C++ will be around for a very long time because it provides an excellent balance between high and low-level programming and because some of the most talented and experienced software engineers have a lot of C++ experience. It will probably continue being used whenever efficiency is important in a relatively large, complex system. (C is sufficient for smaller projects and probably will continue being used for low-level drivers, etc, but there aren't as many tools to limit complexity in C as in C++.) Despite what appears to be a common belief, C++ provides excellent facilities to limit complexity. In general, .NET-based/Java and all these other newer languages are probably more useful for typical GUI and web-based application development. But for more advanced development involving real-time systems, video processing, machine learning, etc. - research development kind of stuff, I suspect C++ is the language of choice for many.

      1 Reply Last reply
      0
      • M Mechanical

        There can be no "average" C++ developers. The "average" ones have long switched to .NET and apparently "like" it. :laugh: You could never like C++ unless you know what it can do, its limitations. Its only limit is the programmer using it.

        Super Lloyd wrote:

        So I wonder what does this strange beast do for a living?

        I would imagine maintaining legacy applications, writing games, doing "Real" development, helping other html "programmers" do their jobs. And it is being killed. No more do you see jobs for C++. They all want PHP, ASP.NET, ...

        NULL

        L Offline
        L Offline
        Lost User
        wrote on last edited by
        #42

        Mechanical wrote:

        Its only limit is the programmer using it.

        Amen! From what I do there are two targets: C++: Client-Server applications, meaning the entire server with c/c++ and a client library, if made good on the top level could be an desktop application writen in any language. C++: Games!!

        Saludos!! ____Juan

        1 Reply Last reply
        0
        • D Dave Parker

          I loved coding in C++ prior to getting a job, I guess because it was fun to work so close to the metal, allowed for heavy optimization and there were lots of nice tricks that could be achieved with things like macros and templates. Out in the real world though I've never come across a C/C++ job, and for over 95% of the projects I've worked on (for money) C++ would have been a worse choice than C#/.NET. It's usually faster to write something in .NET and I don't see any real benefit to spending longer writing common run-of-the-mill applications in C++, even if it was to use some framework such as MFC. My guess is the main reason to use it would be for low level device drivers. And possibly games - I'm not an expert in the pros/cons of writing a game using C++ and DirectX versus XNA framework, but I still think C++ would be a good choice for games anyway.

          R Offline
          R Offline
          Rob12345654321
          wrote on last edited by
          #43

          Low-level drivers seem to still be done mostly in C in my experience, although I imagine this is changing. Games (and really any system that approximates or is real-time) probably still heavily use C++. Really, any large system requiring efficient processing can benefit from C++. I agree with you - C# is my language of choice for writing a typical Windows app. The .NET libraries save me hours of time and the language is a pleasure to code in. But it is not always possible to achieve the necessary level of performance.

          1 Reply Last reply
          0
          • S Super Lloyd

            All in the title.. Never worked with MFC, read a book about it in 1998, tried it and couldn't get into it. Peruse a few C++ book, never found them that appealing. I did write a Uniscribe wrapper in ManagedC++, an ObjectiveC/GNUstep wrapper in ManagedC++ and some OpenGL setup code in C (tapped in with interop), that's about it for my native / C development. Neither did I work with C++ developers. So I wonder what does this strange beast do for a living?

            A train station is where the train stops. A bus station is where the bus stops. On my desk, I have a work station.... _________________________________________________________ My programs never have bugs, they just develop random features.

            E Offline
            E Offline
            englebart
            wrote on last edited by
            #44

            After 12 years of 99% Java programming, I hit my first scenario where I would have loved to have C++ because I really needed some pointers. I was trying to add a few customizations to an open source module that relied heavily on certain data structures. I had to limp by with a ListIterator that managed to get the job done, but pointers and pointers to pointers would have been a cleaner implementation.

            1 Reply Last reply
            0
            • S Super Lloyd

              All in the title.. Never worked with MFC, read a book about it in 1998, tried it and couldn't get into it. Peruse a few C++ book, never found them that appealing. I did write a Uniscribe wrapper in ManagedC++, an ObjectiveC/GNUstep wrapper in ManagedC++ and some OpenGL setup code in C (tapped in with interop), that's about it for my native / C development. Neither did I work with C++ developers. So I wonder what does this strange beast do for a living?

              A train station is where the train stops. A bus station is where the bus stops. On my desk, I have a work station.... _________________________________________________________ My programs never have bugs, they just develop random features.

              A Offline
              A Offline
              Alan Balkany
              wrote on last edited by
              #45

              These days it seems like C++ is used for high-efficiency applications, e.g. graphics, as one person has suggested. The .NET languages (typically C#) are easier and more powerful for GUIs and simple non-time-critical applications, and have the advantage of reliability; e.g. fewer memory leaks. In the applications I'm working on, C# is used for the GUI, and C++ for the pixel-based graphical operations. C++ is the new assembly language.

              1 Reply Last reply
              0
              • S Super Lloyd

                All in the title.. Never worked with MFC, read a book about it in 1998, tried it and couldn't get into it. Peruse a few C++ book, never found them that appealing. I did write a Uniscribe wrapper in ManagedC++, an ObjectiveC/GNUstep wrapper in ManagedC++ and some OpenGL setup code in C (tapped in with interop), that's about it for my native / C development. Neither did I work with C++ developers. So I wonder what does this strange beast do for a living?

                A train station is where the train stops. A bus station is where the bus stops. On my desk, I have a work station.... _________________________________________________________ My programs never have bugs, they just develop random features.

                O Offline
                O Offline
                Oakman
                wrote on last edited by
                #46

                He spends three or four days creating a message box.

                I can picture in my mind a world without war. A world without hate. A world filled with gentle, loving people. And I can picture us attacking that world because they'd never expect it. ~ Jack Handy

                O 1 Reply Last reply
                0
                • A AspDotNetDev

                  Super Lloyd wrote:

                  What does that leave

                  Graphics-intensive applications (e.g., video games, video codecs). Perhaps programs that are run on super computers (where a sub-optimal program would cost thousands of dollars in excessive processing). Legacy C++ applications. High performance libraries (e.g., math libraries, multi-threading libraries). Operating systems. iPhone and other mobile devices (where low-level access can be important and raw performance is necessary).

                  [Forum Guidelines]

                  S Offline
                  S Offline
                  Sterling Camden independent consultant
                  wrote on last edited by
                  #47

                  Compilers/interpreters for other programming languages.

                  Contains coding, but not narcotic.

                  1 Reply Last reply
                  0
                  • O Oakman

                    He spends three or four days creating a message box.

                    I can picture in my mind a world without war. A world without hate. A world filled with gentle, loving people. And I can picture us attacking that world because they'd never expect it. ~ Jack Handy

                    O Offline
                    O Offline
                    Olorin5800
                    wrote on last edited by
                    #48

                    Well i do symbian development using qt(new to it and learning so i'm below average maybe :) ) but its fun(especially using qt)

                    1 Reply Last reply
                    0
                    • M Mechanical

                      That is correct. And a time will come when the "tools" will become so easy that anyone with a diploma will be able to write applications. You will no longer be required to study all the 'boring' details. Just get a diploma in a language and start cranking out code... like a monkey. It is happening right now.

                      NULL

                      C Offline
                      C Offline
                      Cyrilix
                      wrote on last edited by
                      #49

                      I'm quite OK with that. Making it easy to write code just makes the harder problems easier, so you will still have hard problems to work on, but the easy problems will be solvable by anyone. That's how frameworks are developed. You build a layer of abstraction (lower one) so you can work on the more complicated next level.

                      1 Reply Last reply
                      0
                      • A Abhinav S

                        Super Lloyd wrote:

                        So I wonder what does this strange beast do for a living?

                        Code?? :) Maybe I could not understand your question properly.

                        T Offline
                        T Offline
                        TpB
                        wrote on last edited by
                        #50

                        The strange beast works on all of the tools that allow other developers to develop websites such as this. They develop the runtime engines that support the code that java, .Net, etc. put forth. They create the tools that edit the C#, VB, SQL etc. All of these things and more are written using C++, Objective C, or just C, and in some cases they too use MFC. Most importantly what this strange beast does is keep the OS from Linux to Windows, devices from the Apple iPod to the Zune functioning so that individuals who want to write with higher level languages can interact with these OS's and devices. C++ Developers write the code the keeps the military functioning, the code for hardware that controls and move missiles around, and that monitors space travel. The .Net and java languages are not considered reliable enough, secure enough, or stable enough to do a lot of the development that occurs on these levels. (Read these language specifications). As far as detecting memory leaks, a C++ developer is able to manage memory on his own. He is the one that writes garbage collection routines for those who are less skilled an unable to manage their own memory. Yes we may have to track a memory leak, but we can also move into and write assembly language routines from our code and back out again. The routine that allow your editors to track memory leaks. This is just touching the surface. If you want control over the machine learn C++. As far as the comment about tracking down memory leaks, if all you can come up with is tracking memory leaks – put the keyboard down before you hurt yourself (Just kidding too). A C++ developer is a true developer. Those who write in the other languages I have mentioned are likewise developers and professionals. Each language serves a purpose, and is useable and honorable in its realm, just as C++ is.

                        modified on Monday, April 19, 2010 11:46 AM

                        C 1 Reply Last reply
                        0
                        • S Super Lloyd

                          All in the title.. Never worked with MFC, read a book about it in 1998, tried it and couldn't get into it. Peruse a few C++ book, never found them that appealing. I did write a Uniscribe wrapper in ManagedC++, an ObjectiveC/GNUstep wrapper in ManagedC++ and some OpenGL setup code in C (tapped in with interop), that's about it for my native / C development. Neither did I work with C++ developers. So I wonder what does this strange beast do for a living?

                          A train station is where the train stops. A bus station is where the bus stops. On my desk, I have a work station.... _________________________________________________________ My programs never have bugs, they just develop random features.

                          P Offline
                          P Offline
                          patbob
                          wrote on last edited by
                          #51

                          I think you hit it on the head.. an average C++ programmer does a little of this and a little of that without ever really getting in depth on any one thing. Now, your star C++ programmers, they do about the same smattering of this and that, but they dig deeper and understand things. That gives them the knowledge and experience to do amazing things, which is what makes them no longer just "average".

                          patbob

                          1 Reply Last reply
                          0
                          • D Dan Mos

                            Memory Leaks??!!?? :) Just kiding.

                            M Offline
                            M Offline
                            Member 96
                            wrote on last edited by
                            #52

                            That's all kinds of funny because it's true.


                            Yesterday they said today was tomorrow but today they know better. - Poul Anderson

                            1 Reply Last reply
                            0
                            • A AspDotNetDev

                              Mechanical wrote:

                              someone with a fast tongue gets the job

                              Only if your prospective boss is a woman.

                              [Forum Guidelines]

                              F Offline
                              F Offline
                              fulano2040
                              wrote on last edited by
                              #53

                              or the person from hr that is interviewing you for the position

                              1 Reply Last reply
                              0
                              • S Super Lloyd

                                All in the title.. Never worked with MFC, read a book about it in 1998, tried it and couldn't get into it. Peruse a few C++ book, never found them that appealing. I did write a Uniscribe wrapper in ManagedC++, an ObjectiveC/GNUstep wrapper in ManagedC++ and some OpenGL setup code in C (tapped in with interop), that's about it for my native / C development. Neither did I work with C++ developers. So I wonder what does this strange beast do for a living?

                                A train station is where the train stops. A bus station is where the bus stops. On my desk, I have a work station.... _________________________________________________________ My programs never have bugs, they just develop random features.

                                D Offline
                                D Offline
                                da808z
                                wrote on last edited by
                                #54

                                Natural language parsing, voice recognition, OOP is pretty much required to form relationships between various disparate objects. Focus is mainly on the process, and polymorphism takes over the decision branching. Standard C representation executed in terms of minutes, hours, and sometimes days. Rewrite in C++ resulted in split second responses. Rendering HTML took longer than parse times. In my opinion, C++ more closely represents logic, or more specifically OOP does this. Ada coding was my first introduction to OOP, and it was really hard to wrap my head around the concept. It wasn't until I did practical software development where meaning was added, that it all came clear(er). I do far more coding in Java and Flex now, but once in a while I have a need for C(++).

                                1 Reply Last reply
                                0
                                • M Mechanical

                                  That is correct. And a time will come when the "tools" will become so easy that anyone with a diploma will be able to write applications. You will no longer be required to study all the 'boring' details. Just get a diploma in a language and start cranking out code... like a monkey. It is happening right now.

                                  NULL

                                  H Offline
                                  H Offline
                                  Hitesh Seth
                                  wrote on last edited by
                                  #55

                                  And I think that should be our aim too. To move the 'real' developers into making frameworks and support tools for 'users' to program.

                                  1 Reply Last reply
                                  0
                                  • S Super Lloyd

                                    All in the title.. Never worked with MFC, read a book about it in 1998, tried it and couldn't get into it. Peruse a few C++ book, never found them that appealing. I did write a Uniscribe wrapper in ManagedC++, an ObjectiveC/GNUstep wrapper in ManagedC++ and some OpenGL setup code in C (tapped in with interop), that's about it for my native / C development. Neither did I work with C++ developers. So I wonder what does this strange beast do for a living?

                                    A train station is where the train stops. A bus station is where the bus stops. On my desk, I have a work station.... _________________________________________________________ My programs never have bugs, they just develop random features.

                                    R Offline
                                    R Offline
                                    Richard Osafo
                                    wrote on last edited by
                                    #56

                                    I guess, in my case,as a .net programmer, it is writing small console applications and programming micro controllers.

                                    1 Reply Last reply
                                    0
                                    • A Anna Jayne Metcalfe

                                      C++ GUIs are pretty powerful if you use the right framework (we use WTL, as it's both lightweight and flexible, without the bloat and legacy baggage of MFC). If algorithms are your thing, take a look at the way STL (Standard Template Library) algorithms work. It's very powerful stuff, and easily parallelised (another area of big change at the moment) if you're doing number crunching. Be aware of the existance of the Boost library too. New candidates for the standard library often start off in Boost, and it's a good indicator of where the language is going.

                                      Anna :rose: Tech Blog | Visual Lint "Why would anyone prefer to wield a weapon that takes both hands at once, when they could use a lighter (and obviously superior) weapon that allows you to wield multiple ones at a time, and thus supports multi-paradigm carnage?"

                                      S Offline
                                      S Offline
                                      Super Lloyd
                                      wrote on last edited by
                                      #57

                                      After much reflection I decided to be inspired by your comments and I'm downloading WTL right now! On the other hand my energy level (and night work) is pretty low these days.. but things look like they are going to improve! :-)

                                      A train station is where the train stops. A bus station is where the bus stops. On my desk, I have a work station.... _________________________________________________________ My programs never have bugs, they just develop random features.

                                      A 1 Reply Last reply
                                      0
                                      • S Super Lloyd

                                        After much reflection I decided to be inspired by your comments and I'm downloading WTL right now! On the other hand my energy level (and night work) is pretty low these days.. but things look like they are going to improve! :-)

                                        A train station is where the train stops. A bus station is where the bus stops. On my desk, I have a work station.... _________________________________________________________ My programs never have bugs, they just develop random features.

                                        A Offline
                                        A Offline
                                        Anna Jayne Metcalfe
                                        wrote on last edited by
                                        #58

                                        Good for you! I do hope you find WTL to be as good a framework as we have. As a bonus, Michael Dunn's articles on it here on CP are an excellent learning resource. :)

                                        Anna :rose: Tech Blog | Visual Lint "Why would anyone prefer to wield a weapon that takes both hands at once, when they could use a lighter (and obviously superior) weapon that allows you to wield multiple ones at a time, and thus supports multi-paradigm carnage?"

                                        1 Reply Last reply
                                        0
                                        • T TpB

                                          The strange beast works on all of the tools that allow other developers to develop websites such as this. They develop the runtime engines that support the code that java, .Net, etc. put forth. They create the tools that edit the C#, VB, SQL etc. All of these things and more are written using C++, Objective C, or just C, and in some cases they too use MFC. Most importantly what this strange beast does is keep the OS from Linux to Windows, devices from the Apple iPod to the Zune functioning so that individuals who want to write with higher level languages can interact with these OS's and devices. C++ Developers write the code the keeps the military functioning, the code for hardware that controls and move missiles around, and that monitors space travel. The .Net and java languages are not considered reliable enough, secure enough, or stable enough to do a lot of the development that occurs on these levels. (Read these language specifications). As far as detecting memory leaks, a C++ developer is able to manage memory on his own. He is the one that writes garbage collection routines for those who are less skilled an unable to manage their own memory. Yes we may have to track a memory leak, but we can also move into and write assembly language routines from our code and back out again. The routine that allow your editors to track memory leaks. This is just touching the surface. If you want control over the machine learn C++. As far as the comment about tracking down memory leaks, if all you can come up with is tracking memory leaks – put the keyboard down before you hurt yourself (Just kidding too). A C++ developer is a true developer. Those who write in the other languages I have mentioned are likewise developers and professionals. Each language serves a purpose, and is useable and honorable in its realm, just as C++ is.

                                          modified on Monday, April 19, 2010 11:46 AM

                                          C Offline
                                          C Offline
                                          codefabricator
                                          wrote on last edited by
                                          #59

                                          OH PLEASE MAN, get off your high horse! I programmed C++ for years, you make it sound like we're gods, above everyone else. I'm sure the assembler guys would say the same things about us. IT'S JUST A LANGUAGE, and it's the technology that was available at the time. I knew a lot of C++ guys who wrote crappy code, so how is "a C++ developer is a true developer"? C++ still has it's purpose, but it's on the way out, like COBOL, Fortran, assembler, etc. A "true developer" is one who can adapt to and embrace new technologies as times change. After using C# for the past 5 years, I can honestly say that it is a much more robust OO language/environment, and takes just as much brainpower to wrap your head around some of the more advanced concepts such as anonymous delegates, LINQ, Lamba expressions, etc. And with p/invoke, you still have the same access to low level platform API functions. Your last two sentances are the only ones I completely agree with.

                                          TpB wrote:

                                          The strange beast works on all of the tools that allow other developers to develop websites such as this. They develop the runtime engines that support the code that java, .Net, etc. put forth. They create the tools that edit the C#, VB, SQL etc. All of these things and more are written using C++, Objective C, or just C, and in some cases they too use MFC. Most importantly what this strange beast does is keep the OS from Linux to Windows, devices from the Apple iPod to the Zune functioning so that individuals who want to write with higher level languages can interact with these OS's and devices. C++ Developers write the code the keeps the military functioning, the code for hardware that controls and move missiles around, and that monitors space travel. The .Net and java languages are not considered reliable enough, secure enough, or stable enough to do a lot of the development that occurs on these levels. (Read these language specifications). As far as detecting memory leaks, a C++ developer is able to manage memory on his own. He is the one that writes garbage collection routines for those who are less skilled an unable to manage their own memory. Yes we may have to track a memory leak, but we can also move into and write assembly language routines from our code and back out again. The routine that allow your editors to track memory leaks. This is just touching the surface. If you want control over the machine learn C++. As far as the comment about tracking down memory leaks, if all you can come up with

                                          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