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. General Programming
  3. C / C++ / MFC
  4. Should I learn C++ after C#?

Should I learn C++ after C#?

Scheduled Pinned Locked Moved C / C++ / MFC
c++questioncsharpwpfbusiness
5 Posts 3 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.
  • A Offline
    A Offline
    Alebas
    wrote on last edited by
    #1

    Hello, everyone. You may consider this question odd, but it is what I'm thinking of, should I learn C++ after C#? I'm self-taught C# developer. During the last two years I made lots of work learning and using C#. Mainly, I played a role of ordinary team player or worked alone. Sometimes I had performance issues and somebody of C++ guys helped me to workaround. (Envy was my feeling at the moments) Now, my experience with C# is broad and strong. I try to get a job of senior developer, but unfortunately very often the requirements are C++\C#, and If you do not have native C++(not CLI) skills, you are out of the board. I think they want native C++ just in case, even if projects really go under dot net. Is it worth to learn C++ after C# ? If You have the same, could you share your experience? Does it mean evolution of prof. skills or whim? I've started C++, and after C# it seems to me very tough, especially class templates and pointers (together ). I suffer from low productivity as compared with C#. Thank You. Alex

    R J 2 Replies Last reply
    0
    • A Alebas

      Hello, everyone. You may consider this question odd, but it is what I'm thinking of, should I learn C++ after C#? I'm self-taught C# developer. During the last two years I made lots of work learning and using C#. Mainly, I played a role of ordinary team player or worked alone. Sometimes I had performance issues and somebody of C++ guys helped me to workaround. (Envy was my feeling at the moments) Now, my experience with C# is broad and strong. I try to get a job of senior developer, but unfortunately very often the requirements are C++\C#, and If you do not have native C++(not CLI) skills, you are out of the board. I think they want native C++ just in case, even if projects really go under dot net. Is it worth to learn C++ after C# ? If You have the same, could you share your experience? Does it mean evolution of prof. skills or whim? I've started C++, and after C# it seems to me very tough, especially class templates and pointers (together ). I suffer from low productivity as compared with C#. Thank You. Alex

      R Offline
      R Offline
      Rage
      wrote on last edited by
      #2

      C++ and C# are different things. C# is easier to understand with a C++ background (personal opinion though). It is always worth learning a new langage, if you have time to spend (otherwise it is a waste, do not expect to understand C++ in less than a week) and a clear target as for why you would do it (which you have since you are targeting senior developer jobs where this is a requirement). Then go for it. On the other way, I do not exactely see why senior developer would need to know both C++ and C#, unless for "porting" activities. I do not really see the win in being good at C++ for programming in C#.

      ~RaGE();

      I think words like 'destiny' are a way of trying to find order where none exists. - Christian Graus
      Do not feed the troll ! - Common proverb

      1 Reply Last reply
      0
      • A Alebas

        Hello, everyone. You may consider this question odd, but it is what I'm thinking of, should I learn C++ after C#? I'm self-taught C# developer. During the last two years I made lots of work learning and using C#. Mainly, I played a role of ordinary team player or worked alone. Sometimes I had performance issues and somebody of C++ guys helped me to workaround. (Envy was my feeling at the moments) Now, my experience with C# is broad and strong. I try to get a job of senior developer, but unfortunately very often the requirements are C++\C#, and If you do not have native C++(not CLI) skills, you are out of the board. I think they want native C++ just in case, even if projects really go under dot net. Is it worth to learn C++ after C# ? If You have the same, could you share your experience? Does it mean evolution of prof. skills or whim? I've started C++, and after C# it seems to me very tough, especially class templates and pointers (together ). I suffer from low productivity as compared with C#. Thank You. Alex

        J Offline
        J Offline
        James R Twine
        wrote on last edited by
        #3

        Alebas wrote:

        Sometimes I had performance issues and somebody of C++ guys helped me to workaround. (Envy was my feeling at the moments)

        ...

        Alebas wrote:

        Now, my experience with C# is broad and strong.

        In my humble opinion, those two are mutually exclusive.  If you have to go to a C++ developer for a performance issue in C#, you are likely not as broad and strong as you might believe yourself to be, let alone ready for a senior position! ;)    I would suggest learning C++ for many reasons including the fact that while Microsoft is big, and Mono is making headway, C# does not yet rule the world!    I believe that learning C/C++ will benefit you because it should provide you with a better understanding of what is going on behind the scenes.nbsp; Having to manage your own memory and code (some of) your own algorithms and functionality should also help you recognize when one is a better approach than the other.  At least, it will help you learn how to solve your own performance issues without going to someone else! :)    Peace!

        -=- James


        If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong!
        Avoid driving a vehicle taller than you and remember that Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road!
        DeleteFXPFiles & CheckFavorites (Please rate this post!)

        A 1 Reply Last reply
        0
        • J James R Twine

          Alebas wrote:

          Sometimes I had performance issues and somebody of C++ guys helped me to workaround. (Envy was my feeling at the moments)

          ...

          Alebas wrote:

          Now, my experience with C# is broad and strong.

          In my humble opinion, those two are mutually exclusive.  If you have to go to a C++ developer for a performance issue in C#, you are likely not as broad and strong as you might believe yourself to be, let alone ready for a senior position! ;)    I would suggest learning C++ for many reasons including the fact that while Microsoft is big, and Mono is making headway, C# does not yet rule the world!    I believe that learning C/C++ will benefit you because it should provide you with a better understanding of what is going on behind the scenes.nbsp; Having to manage your own memory and code (some of) your own algorithms and functionality should also help you recognize when one is a better approach than the other.  At least, it will help you learn how to solve your own performance issues without going to someone else! :)    Peace!

          -=- James


          If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong!
          Avoid driving a vehicle taller than you and remember that Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road!
          DeleteFXPFiles & CheckFavorites (Please rate this post!)

          A Offline
          A Offline
          Alebas
          wrote on last edited by
          #4

          Hi , James. Thank you for your answer. You have said the same what I was thinking about. There is a little misunderstanding. I mean that C++ guys helped me to find a solution of a problem, but they did not of course just re-write some piece of program using C++ to make the program working faster. They simply were able to point out very precisely where the problem was. I was very exited by that ability of clear understanding. When you do C#, many things are pre-implemented for you in NET framework. This greatly enhances your productivity as C# developer, and by common working standards you are really good, and you can say “I’m strong in C#, if you have strong attitude :-). But the problem is that if You start learning programming using dotNET, particularly if you do not have special education but mostly self-taught, sometimes you perceive some functionality as obvious environment. You just use .NET features which seem evident and simple up front (outside), but they can have complex pre-implemented internal structure, which is hidden from your mind. Having practical C++, C, assembler experience is necessary, I think, even if you may use it in 1% of your dotNET projects. Theoretical knowledge of general ideas (overal picture) is good but not enough. Alex

          J 1 Reply Last reply
          0
          • A Alebas

            Hi , James. Thank you for your answer. You have said the same what I was thinking about. There is a little misunderstanding. I mean that C++ guys helped me to find a solution of a problem, but they did not of course just re-write some piece of program using C++ to make the program working faster. They simply were able to point out very precisely where the problem was. I was very exited by that ability of clear understanding. When you do C#, many things are pre-implemented for you in NET framework. This greatly enhances your productivity as C# developer, and by common working standards you are really good, and you can say “I’m strong in C#, if you have strong attitude :-). But the problem is that if You start learning programming using dotNET, particularly if you do not have special education but mostly self-taught, sometimes you perceive some functionality as obvious environment. You just use .NET features which seem evident and simple up front (outside), but they can have complex pre-implemented internal structure, which is hidden from your mind. Having practical C++, C, assembler experience is necessary, I think, even if you may use it in 1% of your dotNET projects. Theoretical knowledge of general ideas (overal picture) is good but not enough. Alex

            J Offline
            J Offline
            James R Twine
            wrote on last edited by
            #5

            Alebas wrote:

            I mean that C++ guys helped me to find a solution of a problem, but they did not of course just re-write some piece of program using C++ to make the program working faster.

            I did not think that is what happened, sorry if I implied that.    I think that an understanding of the Win32 API as it relates to the functionality that is presented to you through the framework would be good to learn.  If things like Mono ever become (more?) mainstream, it would also help explain why one feature works differently faster/slower/side-effects on architecture/OS than another.  I believe that learning something a bit lower level like C/C++ would help in those areas, as well as an understanding of data structures (linked lists, hash tables, etc.) and algorithms and how they work are are implemented.    As far as assembly, I have never written any significant amount of assembly code myself.  I have replaced a memcpy(...) here and there, but nothing serious.  I think that an understanding of machine structures/architecture (how a CPU works, particularly ones you are using) and how your OS manages memory is more important, so that you begin to understand things like spatial and temporal locality when dealing with multiple items or sets of data and how they can affect performance.    Peace!

            -=- James


            If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong!
            Avoid driving a vehicle taller than you and remember that Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road!
            DeleteFXPFiles & CheckFavorites (Please rate this post!)

            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