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
    Joe Woodbury
    wrote on last edited by
    #35

    Native C++. More specifically; procedural C++. Yeah, sounds whacky, but extremely useful in truly understanding how Windows really works. It also helps in understanding the OOP is merely a construct; beneath it all, it's procedural code. It has been my experience that engineers who understand Win32 and how .NET really works under the covers write more efficient code than those that don't and are, in general, better C# developers (yes, there are plenty of exceptions, but given the choice of hiring a C# developer with no C++ experience and one with, everything else equal, I'll take the latter.)

    Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke

    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)

      J Offline
      J Offline
      Jason Christian
      wrote on last edited by
      #36

      Why go backwards?

      1 Reply Last reply
      0
      • J Judah Gabriel Himango

        C++/CLI is really good for native interop. I wouldn't develop a fully managed app purely in C++/CLI, no. It still doesn't feel like a first-class .NET language, IMO.

        Tech, life, family, faith: Give me a visit. The apostle Paul, modernly speaking: Epistles of Paul Judah Himango

        F Offline
        F Offline
        fredsparkle
        wrote on last edited by
        #37

        We have a heavy weight MFC app and we simply include one /CLR compiled module in the main app to get .NET running early and then call a /CLR compiled bridge DLL to add new functionality from .NET dll's.

        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)

          J Offline
          J Offline
          JaeLee4
          wrote on last edited by
          #38

          I code in both C# and C++ (I've been doing C++ for over ten years now, C# for two years). C# is much easier, hands down, and given a choice I always go for C#. There are cases, however, where going C++ makes sense, esp where the client machine isn't expected to have the .NET framework. I'd go ahead and code your new project in C++ using VS2k8. It's one thing to read about using the Win32 and STL, quite another learning coding it. I would try to use generics for any collection classes and use patterns (such as the command pattern to encapsulate GUI commands/verbs). Bonus points would be to use background threads to update any GUI controls (such as a listbox) without crashing your app (you'll have to create delegates to safely update the control). C++ is still in use, and I don't expect it go away anytime soon... but I'd rather make my living in C# since (to me at least) it's so much easier. Congrats on your new job!

          1 Reply Last reply
          0
          • M mohit mayank

            hi all! well i m student and a kid for you guys. i learned native C++ at college. i started codeing in VB6 for fun. thn moved to VS 2008 and found VC++ familier. i love coding in VC++ and VB .net. I am Working on stock market simulation software. Will it be good for me to learn C# and ASP now. I have to finish the software in one month. i have developed the database in Mysql and Client side of the game in C++. also I have to search for a job next year. Mohit

            J Offline
            J Offline
            James Hugard
            wrote on last edited by
            #39

            F#[^], it's non .NET sibling OCaml[^] and pure (standalone) cousin Haskell[^], appear to be making inroads with the financial sector[^]. Can't say if they will dethrone SmallTalk[^], since I'm not in the business, but makes Functional Programming worth a look. However, having written code for over 30 years in many languages, I found F# and Functional Programming to be one of those "mind bending" experiences like going from BASIC (and Assembly) to Pascal, from Pascal (and C) to C++, and now again from C++ to F#. Now that I understand the syntax, I (usually) find F# to be the most readable of the languages I know, and quite a lot of fun to write in, especially when "coding in the small[^]."

            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)

              J Offline
              J Offline
              Jeremy Hutchinson
              wrote on last edited by
              #40

              One thing to consider when choosing a language is who is going to maintain it. You don't have any experience in C++ and there is a chance you'll realize you hate it after you've gotten far enough along witting this application that you couldn't start over. Then you're stuck finishing and maintaining the code until you leave that job. When you leave that job your employer now needs to hire someone who has Managed C++ experience in whatever any other custom applications are written in. You've expanded you're skills to the detriment of your employer. That being said, if I were going to start exploring a new language, I would start exploring WPF. I hated it the first week, but after I got the hang of it, I quickly grew to love it. You're expanding your skills, but within the realm of C#. You should also check out ADO.Net Data Service, Entity Framework, Linq. All powerful tools to put in your belt.

              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)

                J Offline
                J Offline
                Jim Crafton
                wrote on last edited by
                #41

                If you're gonna do C++, and don't want to deal with MFC, check out the VCF[^], it's got a lot of the same things you probably like about .Net and C#, but it's done with native C++.

                ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! VCF Blog

                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)

                  A Offline
                  A Offline
                  Alex Espinoza
                  wrote on last edited by
                  #42

                  I personally think you should choose the language that fits the project you are working on. And even if learning a new language is fun, I don't think you should just choose a language because of fun. Remember that the application you create will have to be maintained sooner or later by somebody else than you. If you create it in a language that not everybody is comfortable using, you'll have trouble finding somebody who will maintain it successfully. Now, talking about fun, I have never used Managed C++, I got into the new revision which is called C++/CLI, and I loved it. I have a C++ background and the ability to use the .Net library and native libraries at the same time on the same module is just way too much power. In my opinion, C++/CLI is worth learning. Especially if you like low level stuff. I would use C++/CLI on: * Projects were integration with native modules is required. * Projects were performance on certain parts of the application are needed. * Projects were the need to use the full power of Concurrency is needed. Hope that helps, Alex.

                  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)

                    K Offline
                    K Offline
                    Kevin McFarlane
                    wrote on last edited by
                    #43

                    Learn what you think will pay you the most money. :) Probably not managed C++ (C++/CLI).

                    Kevin

                    1 Reply Last reply
                    0
                    • D DaveyM69

                      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 Offline
                      K Offline
                      Kevin McFarlane
                      wrote on last edited by
                      #44

                      You can install it into VS 2008 Standard or Pro right now. Or if you don't have those it works with the free VS 2008 Shell Integrated Mode. I played with it briefly a while back but had to uninstall it for other reasons. There is now a quite developed F# dev center. http://msdn.microsoft.com/en-gb/fsharp/default.aspx[^]

                      Kevin

                      D 1 Reply Last reply
                      0
                      • K Kevin McFarlane

                        You can install it into VS 2008 Standard or Pro right now. Or if you don't have those it works with the free VS 2008 Shell Integrated Mode. I played with it briefly a while back but had to uninstall it for other reasons. There is now a quite developed F# dev center. http://msdn.microsoft.com/en-gb/fsharp/default.aspx[^]

                        Kevin

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

                        I've installed it already - haven't had the time to play yet. Hoping this weekend...!

                        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
                        • D DaveyM69

                          I've installed it already - haven't had the time to play yet. Hoping this weekend...!

                          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 Offline
                          K Offline
                          Kevin McFarlane
                          wrote on last edited by
                          #46

                          It's quite fun but a bit mind-boggling initially. Different paradigm and all that.

                          1 Reply Last reply
                          0
                          • S Stuart Dootson

                            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 Offline
                            P Offline
                            panda_mo
                            wrote on last edited by
                            #47

                            maybe I have a better idea. :)

                            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