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. Managed C++ - worth the effort?

Managed C++ - worth the effort?

Scheduled Pinned Locked Moved The Lounge
csharpc++comtoolsquestion
47 Posts 33 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.
  • D DaveyM69

    I do all my coding in C# nowadays. I'm ashamed to admit it :-O , but before .NET it was VB for me and before that plain old BASIC. I've done a little assembly too so I'm not scared of getting 'lower' level. I've just landed a new job (woohoo!) and part of it will be developing a bespoke application. There are no time limits on this and I'll be working on it alone, so I wondered if you guys thought it might be worth the effort of going down the C++ route (is managed C++ that much different to C#?) to broaden my experience? I could code it in C# but I fancy learning something that may prove to be useful. If not managed C++, what would you recommend?

    Dave
    BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)
    Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia)

    J Offline
    J Offline
    Jim SS
    wrote on last edited by
    #11

    Learn C++ only if you know you will need it in the future. I have been doing C++ for almost 20 years, and although it does have some advantages C# solves a lot of problems with few drawbacks. Same thing for Java. It's just C++ with a lot of stuff taken out and a few additions. If you want to learn something that may be useful, look into WPF and XAML.

    SS => Qualified in Submarines "We sleep soundly in our beds because rough men stand ready in the night to visit violence on those who would do us harm". Winston Churchill

    1 Reply Last reply
    0
    • D DaveyM69

      I do all my coding in C# nowadays. I'm ashamed to admit it :-O , but before .NET it was VB for me and before that plain old BASIC. I've done a little assembly too so I'm not scared of getting 'lower' level. I've just landed a new job (woohoo!) and part of it will be developing a bespoke application. There are no time limits on this and I'll be working on it alone, so I wondered if you guys thought it might be worth the effort of going down the C++ route (is managed C++ that much different to C#?) to broaden my experience? I could code it in C# but I fancy learning something that may prove to be useful. If not managed C++, what would you recommend?

      Dave
      BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)
      Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia)

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

      There is no need at all to learn c++ at this point and you're going to be pulling out your hair with the memory management learning curve. If it was for a hobby or pure learning enjoyment then have at 'er but as part of a job, no, absolutely not under any circumstances and I say this as someone who wrote c and c++ for decades before moving to c#.


      "It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson

      1 Reply Last reply
      0
      • D DaveyM69

        I do all my coding in C# nowadays. I'm ashamed to admit it :-O , but before .NET it was VB for me and before that plain old BASIC. I've done a little assembly too so I'm not scared of getting 'lower' level. I've just landed a new job (woohoo!) and part of it will be developing a bespoke application. There are no time limits on this and I'll be working on it alone, so I wondered if you guys thought it might be worth the effort of going down the C++ route (is managed C++ that much different to C#?) to broaden my experience? I could code it in C# but I fancy learning something that may prove to be useful. If not managed C++, what would you recommend?

        Dave
        BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)
        Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia)

        L Offline
        L Offline
        leckey 0
        wrote on last edited by
        #13

        Congrats on the job! In college we were taught C++ which made C# very easy to learn. I think it might be more complicated the other direction. C# can do basically the same stuff as C++ (there might be those more knowledgeable than me who might say otherwise) but I like the complexity like dealing with pointers and such. I believe if you can "program" it doesn't matter what language it is in. I took a course where we had to do the same project in 4 languages including OOP languages and non-OOP languages. It really taught me how to sit down, figure out the logic, and then worry about the semantics. It's almost like talking; if you understand noun, verb, adjective...you can learn a new language. You learn that in Spanish the adjective comes after the noun where in English is usually comes before. If you understand the basics, it's just the willingness to learn the specifics. Best of luck on the new job!

        Back in the blog beatch! http://CraptasticNation.blogspot.com/[^]

        S D 2 Replies Last reply
        0
        • D DaveyM69

          I do all my coding in C# nowadays. I'm ashamed to admit it :-O , but before .NET it was VB for me and before that plain old BASIC. I've done a little assembly too so I'm not scared of getting 'lower' level. I've just landed a new job (woohoo!) and part of it will be developing a bespoke application. There are no time limits on this and I'll be working on it alone, so I wondered if you guys thought it might be worth the effort of going down the C++ route (is managed C++ that much different to C#?) to broaden my experience? I could code it in C# but I fancy learning something that may prove to be useful. If not managed C++, what would you recommend?

          Dave
          BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)
          Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia)

          V Offline
          V Offline
          vaghelabhavesh
          wrote on last edited by
          #14

          I would say C# Rocks!!!:thumbsup: The only reason I will choose C# over C++ is memory leak and if in any circumstances if you have to use pointers you can use unsafe code in C#. So why don't you become an expertise on C# rather than going backward. Once again this is my personal opinion.

          1 Reply Last reply
          0
          • L leckey 0

            Congrats on the job! In college we were taught C++ which made C# very easy to learn. I think it might be more complicated the other direction. C# can do basically the same stuff as C++ (there might be those more knowledgeable than me who might say otherwise) but I like the complexity like dealing with pointers and such. I believe if you can "program" it doesn't matter what language it is in. I took a course where we had to do the same project in 4 languages including OOP languages and non-OOP languages. It really taught me how to sit down, figure out the logic, and then worry about the semantics. It's almost like talking; if you understand noun, verb, adjective...you can learn a new language. You learn that in Spanish the adjective comes after the noun where in English is usually comes before. If you understand the basics, it's just the willingness to learn the specifics. Best of luck on the new job!

            Back in the blog beatch! http://CraptasticNation.blogspot.com/[^]

            S Offline
            S Offline
            Stuart Dootson
            wrote on last edited by
            #15

            leckey wrote:

            It's almost like talking; if you understand noun, verb, adjective...you can learn a new language. You learn that in Spanish the adjective comes after the noun where in English is usually comes before.

            Of course, some (natural) languages require more of a paradigm shift (e.g. tonal languages, like Chinese?). Similarly, some programming languages (Haskell's[^] my current favourite) mess with your head in the same way - they're the best sort to learn, IMO, as they expand your mind the most. Lysergic languages, man...

            L 1 Reply Last reply
            0
            • D DaveyM69

              I do all my coding in C# nowadays. I'm ashamed to admit it :-O , but before .NET it was VB for me and before that plain old BASIC. I've done a little assembly too so I'm not scared of getting 'lower' level. I've just landed a new job (woohoo!) and part of it will be developing a bespoke application. There are no time limits on this and I'll be working on it alone, so I wondered if you guys thought it might be worth the effort of going down the C++ route (is managed C++ that much different to C#?) to broaden my experience? I could code it in C# but I fancy learning something that may prove to be useful. If not managed C++, what would you recommend?

              Dave
              BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)
              Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia)

              T Offline
              T Offline
              ToddHileHoffer
              wrote on last edited by
              #16

              What is a bespoke?

              I didn't get any requirements for the signature

              V A H 3 Replies Last reply
              0
              • S Stuart Dootson

                leckey wrote:

                It's almost like talking; if you understand noun, verb, adjective...you can learn a new language. You learn that in Spanish the adjective comes after the noun where in English is usually comes before.

                Of course, some (natural) languages require more of a paradigm shift (e.g. tonal languages, like Chinese?). Similarly, some programming languages (Haskell's[^] my current favourite) mess with your head in the same way - they're the best sort to learn, IMO, as they expand your mind the most. Lysergic languages, man...

                L Offline
                L Offline
                leckey 0
                wrote on last edited by
                #17

                I agree there are those "out there" languages...assembly was a bit difficult for me at first. However, most companies embrace the "normal" languages which include the .NET languages (the standards; I know of no one who uses COBOL within .NET although I am sure it is used), VB6 (the legacy that won't frickin' die like a cockroach, C++ and even pure C). Each language has it's pros/cons...

                Back in the blog beatch! http://CraptasticNation.blogspot.com/[^]

                1 Reply Last reply
                0
                • L leppie

                  I think that will be my next step too :)

                  xacc.ide - now with TabsToSpaces support
                  IronScheme - 1.0 beta 1 - out now!
                  ((lambda (x) `((lambda (x) ,x) ',x)) '`((lambda (x) ,x) ',x))

                  S Offline
                  S Offline
                  Stuart Dootson
                  wrote on last edited by
                  #18

                  If, like the OP, I developed .NET, I'd be all over F#. As I target native code, I have a bit more freedom, so I tend to use Haskell when I have the chance rather than OCaml, which is F#'s inspiration - I don't know why, but I've always preferred what Haskell offers.

                  P 1 Reply Last reply
                  0
                  • T ToddHileHoffer

                    What is a bespoke?

                    I didn't get any requirements for the signature

                    V Offline
                    V Offline
                    vaghelabhavesh
                    wrote on last edited by
                    #19

                    Accroding to Wikipedia[^] Bespoke in computer software, it refers to software designed and written for a single company and/or task

                    1 Reply Last reply
                    0
                    • D DaveyM69

                      I do all my coding in C# nowadays. I'm ashamed to admit it :-O , but before .NET it was VB for me and before that plain old BASIC. I've done a little assembly too so I'm not scared of getting 'lower' level. I've just landed a new job (woohoo!) and part of it will be developing a bespoke application. There are no time limits on this and I'll be working on it alone, so I wondered if you guys thought it might be worth the effort of going down the C++ route (is managed C++ that much different to C#?) to broaden my experience? I could code it in C# but I fancy learning something that may prove to be useful. If not managed C++, what would you recommend?

                      Dave
                      BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)
                      Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia)

                      D Offline
                      D Offline
                      DaveyM69
                      wrote on last edited by
                      #20

                      Thanks for all the input CPians! Plenty to have a think about here, just what I needed. :-D

                      Dave
                      BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)
                      Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia)

                      1 Reply Last reply
                      0
                      • D Drew Johnson

                        Agreed. If you want to broaden you experience, show that you can bring a project in on time that a customer is willing to pay for. If you do that, all anyone will care about is where they can find you. When it comes to money, stick to what you know and do well.

                        T Offline
                        T Offline
                        Todd Smith
                        wrote on last edited by
                        #21

                        The poor guy wants to learn something new! Don't discourage him. Just lead him in a useful direction which Managed-C++ is not. I would suggest :thumbsup: VB6 :thumbsup:

                        Todd Smith

                        D 1 Reply Last reply
                        0
                        • T ToddHileHoffer

                          What is a bespoke?

                          I didn't get any requirements for the signature

                          A Offline
                          A Offline
                          Ajit Shekhawat
                          wrote on last edited by
                          #22

                          ToddHileHoffer wrote:

                          What is a bespoke?

                          May be Desktop

                          1 Reply Last reply
                          0
                          • D DaveyM69

                            I do all my coding in C# nowadays. I'm ashamed to admit it :-O , but before .NET it was VB for me and before that plain old BASIC. I've done a little assembly too so I'm not scared of getting 'lower' level. I've just landed a new job (woohoo!) and part of it will be developing a bespoke application. There are no time limits on this and I'll be working on it alone, so I wondered if you guys thought it might be worth the effort of going down the C++ route (is managed C++ that much different to C#?) to broaden my experience? I could code it in C# but I fancy learning something that may prove to be useful. If not managed C++, what would you recommend?

                            Dave
                            BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)
                            Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia)

                            D Offline
                            D Offline
                            Danillo
                            wrote on last edited by
                            #23

                            I agree with most of the previous writers. If you tend do go into embedded programming where you have restrictions on memory/performance it might be a good idea to jump on the C++ train. On the other side, from my experience, I would rather invest in learning more on C# and software design issues. For client applications the suggestion for WPF/XAML is a good idea too. I think these two technologies definitely have a future. Hope I helped a little bit and good luck at your new job from switzerland Dani

                            D 1 Reply Last reply
                            0
                            • D DaveyM69

                              I do all my coding in C# nowadays. I'm ashamed to admit it :-O , but before .NET it was VB for me and before that plain old BASIC. I've done a little assembly too so I'm not scared of getting 'lower' level. I've just landed a new job (woohoo!) and part of it will be developing a bespoke application. There are no time limits on this and I'll be working on it alone, so I wondered if you guys thought it might be worth the effort of going down the C++ route (is managed C++ that much different to C#?) to broaden my experience? I could code it in C# but I fancy learning something that may prove to be useful. If not managed C++, what would you recommend?

                              Dave
                              BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)
                              Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia)

                              D Offline
                              D Offline
                              dmitri_sps
                              wrote on last edited by
                              #24

                              I'd agree with others that you'd better not try a new language on entire project, but hey, you can write some components in managed C++, just for the fun of it. Then you can write some in un-managed C++, to feel the difference. With C++ you will get - different kind of templates (sorely missed by me in C# and Java): templates that allow to apply patterns to un-related classes - destructors to manage external resources (instead of using the "using" construct) And with unmanaged C++ you will also get multiple inheritance. Just do not use pointers - use smart pointers or shared pointers (download "boost" library for example) or write your own smart-pointer template ;P

                              M 1 Reply Last reply
                              0
                              • T ToddHileHoffer

                                What is a bespoke?

                                I didn't get any requirements for the signature

                                H Offline
                                H Offline
                                hairy_hats
                                wrote on last edited by
                                #25

                                ToddHileHoffer wrote:

                                What is a bespoke?

                                They hold a bewheel together.

                                1 Reply Last reply
                                0
                                • P PIEBALDconsult

                                  Do one thing and do it well. Well, OK, I'll get flamed for that, but I certainly wouldn't try to produce a commercial app while trying to learn the language. There are already too many people on here doing that anyway. Write the app in C# and learn something else on the side if you like.

                                  D Offline
                                  D Offline
                                  DaveyM69
                                  wrote on last edited by
                                  #26

                                  PIEBALDconsult wrote:

                                  too many people on here doing that

                                  Good point!

                                  PIEBALDconsult wrote:

                                  learn something else on the side

                                  This particular application is sort of an 'on the side' thing. Part of my job, but not the main focus and I can take as long as I like. Seems like the perfect opportunity to stimulate the old grey matter with something new, but still get paid for it!

                                  Dave
                                  BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)
                                  Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia)

                                  1 Reply Last reply
                                  0
                                  • D Danillo

                                    I agree with most of the previous writers. If you tend do go into embedded programming where you have restrictions on memory/performance it might be a good idea to jump on the C++ train. On the other side, from my experience, I would rather invest in learning more on C# and software design issues. For client applications the suggestion for WPF/XAML is a good idea too. I think these two technologies definitely have a future. Hope I helped a little bit and good luck at your new job from switzerland Dani

                                    D Offline
                                    D Offline
                                    DaveyM69
                                    wrote on last edited by
                                    #27

                                    Danillo wrote:

                                    good luck at your new j

                                    Thanks! I've played around with WPF and found it to be a PITA. Very pretty and flexible on the UI side though, and still the same basic coding behind the scenes. I just found it took ages to make some stuff work as expected when in WinForms it just works. I may just have been playing around too much in the XAML instead of doing stuff in the 'real' code... maybe I'll have another look, especially now we have a few WPF experts at CP.

                                    Dave
                                    BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)
                                    Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia)

                                    1 Reply Last reply
                                    0
                                    • S Stuart Dootson

                                      How about F#[^] - learn a new paradigm (functional programming) along with the first language to be added to the release version of Visual Studio (when VS2010 is released) since C#...

                                      D Offline
                                      D Offline
                                      DaveyM69
                                      wrote on last edited by
                                      #28

                                      Thanks for the suggestion - I'll have a good look at this.

                                      Dave
                                      BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)
                                      Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia)

                                      K 1 Reply Last reply
                                      0
                                      • T Todd Smith

                                        The poor guy wants to learn something new! Don't discourage him. Just lead him in a useful direction which Managed-C++ is not. I would suggest :thumbsup: VB6 :thumbsup:

                                        Todd Smith

                                        D Offline
                                        D Offline
                                        DaveyM69
                                        wrote on last edited by
                                        #29

                                        Todd Smith wrote:

                                        VB6

                                        Been there - and tried to forget it! I actually wrote some pretty decent stuff that's still in use today. I'm just glad I don't have to support it ;) It seems the general consensus is to forget about C++. I'll take the advice :-D

                                        Dave
                                        BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)
                                        Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia)

                                        1 Reply Last reply
                                        0
                                        • L leckey 0

                                          Congrats on the job! In college we were taught C++ which made C# very easy to learn. I think it might be more complicated the other direction. C# can do basically the same stuff as C++ (there might be those more knowledgeable than me who might say otherwise) but I like the complexity like dealing with pointers and such. I believe if you can "program" it doesn't matter what language it is in. I took a course where we had to do the same project in 4 languages including OOP languages and non-OOP languages. It really taught me how to sit down, figure out the logic, and then worry about the semantics. It's almost like talking; if you understand noun, verb, adjective...you can learn a new language. You learn that in Spanish the adjective comes after the noun where in English is usually comes before. If you understand the basics, it's just the willingness to learn the specifics. Best of luck on the new job!

                                          Back in the blog beatch! http://CraptasticNation.blogspot.com/[^]

                                          D Offline
                                          D Offline
                                          DaveyM69
                                          wrote on last edited by
                                          #30

                                          leckey wrote:

                                          Congrats on the job! Best of luck

                                          Thanks! I've recently reread an old C++ book which is what prompted me to think about this. I didn't realise just how similar C# was. Obviously there are some significant differences but I think (I haven't applied it so can't be sure) I understood all of it. Even though we don't get to play with pointers in C#, I think it's almost impossible to be able to program in any language 'properly' without an understanding of them and what's going on behind the scenes. The F# suggestion elsewhere looks interesting :-D

                                          Dave
                                          BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)
                                          Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia)

                                          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