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++ or C#

Managed C++ or C#

Scheduled Pinned Locked Moved The Lounge
csharpc++dotnetquestionlearning
31 Posts 14 Posters 1 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.
  • G Garth Watkins

    What's your opinion ? Most of my development has been in C++ using MFC for the last couple of years. I'd like to take advantage of the .net framework, but I'm hesitant of learning a new language just when I'm getting comfortable with C++.

    D Offline
    D Offline
    Daniel Turini
    wrote on last edited by
    #7

    Learn C#. Managed C++ is not a tool to develop new code - it's horrific. While I love C++ - the good, trusty, old one - Managed C++ is the most horrible thing I've seen in ages. The syntax is ugly - just try to declare a delegate to a function that returns an array of bytes or try to use an untyped dataset and you'll know what I mean. The syntax changed in the next version of Managed C++, and that means that all what you've learned is worth nothing. You'll never really know wether you're using P/Invoke, IJW, native code, or managed code. While this can be a good thing for porting old code, when developing new code, it isn't. Managed C++ has one specific use: easily interface C++ code that still wasn't ported to C# with "higher level" languages, such as C# and VB.NET (another abomination, BTW). Yes, even I am blogging now!

    1 Reply Last reply
    0
    • Y Yulianto

      I thinks it depends, C# is easier, Managed C++ is more powerfull.


      Work hard and a bit of luck is the key to success.

      You don`t need to be genius, to be rich.

      R Offline
      R Offline
      raymonxo
      wrote on last edited by
      #8

      Yes, C# is easier and allows you to be more productive when developing in a purely managed environment. Please explain how Managed C++ is more powerful when developing in a purely managed environment :confused:. I don't believe this to be true.

      R N 2 Replies Last reply
      0
      • R raymonxo

        Yes, C# is easier and allows you to be more productive when developing in a purely managed environment. Please explain how Managed C++ is more powerful when developing in a purely managed environment :confused:. I don't believe this to be true.

        R Offline
        R Offline
        raymonxo
        wrote on last edited by
        #9

        I forgot to mention, I recommend using C# if you are developing new applications for .NET. C# has a much cleaner syntax than C++; this will be especially true with .NET 2.0 features such as generics. I used to develop in C++ and now that I've been using C# for more than a year I can't imagine going back. C# is so clean and intuitive.

        N 1 Reply Last reply
        0
        • G Garth Watkins

          What's your opinion ? Most of my development has been in C++ using MFC for the last couple of years. I'd like to take advantage of the .net framework, but I'm hesitant of learning a new language just when I'm getting comfortable with C++.

          G Offline
          G Offline
          Garth Watkins
          wrote on last edited by
          #10

          Well so far it seems as if the general consesus is on going the C# route. Thanks for the comments

          1 Reply Last reply
          0
          • G Garth Watkins

            What's your opinion ? Most of my development has been in C++ using MFC for the last couple of years. I'd like to take advantage of the .net framework, but I'm hesitant of learning a new language just when I'm getting comfortable with C++.

            P Offline
            P Offline
            Paul Watson
            wrote on last edited by
            #11

            What do you develop? For us web-developers, C# and ASP.NET is a no-brainer (I am not referring to the LAMP crowd.) For WinApp developers though .NET is a tougher decision. regards, Paul Watson South Africa The Code Project

            N 1 Reply Last reply
            0
            • G Garth Watkins

              What's your opinion ? Most of my development has been in C++ using MFC for the last couple of years. I'd like to take advantage of the .net framework, but I'm hesitant of learning a new language just when I'm getting comfortable with C++.

              M Offline
              M Offline
              Marc Clifton
              wrote on last edited by
              #12

              Well, here's my 2c. The Managed C++ syntax is awful. The .NET framework is nice, but it lacks a lot of things that are basically second nature in MFC. I haven't written a single serious app yet that doesn't require some P/Invoke somewhere because .NET fails to provide some necessary functionality. C# is easy to learn. Knowing both, you can pick which language and framework best meets your needs. Marc MyXaml Advanced Unit Testing

              N 1 Reply Last reply
              0
              • P Paul Watson

                What do you develop? For us web-developers, C# and ASP.NET is a no-brainer (I am not referring to the LAMP crowd.) For WinApp developers though .NET is a tougher decision. regards, Paul Watson South Africa The Code Project

                N Offline
                N Offline
                Nish Nishant
                wrote on last edited by
                #13

                Paul Watson wrote: I am not referring to the LAMP crowd What's LAMP, Paul?


                My blog on C++/CLI, MFC/Win32, .NET - void Nish(char* szBlog); My MVP tips, tricks and essays web site - www.voidnish.com

                P D 2 Replies Last reply
                0
                • M Marc Clifton

                  Well, here's my 2c. The Managed C++ syntax is awful. The .NET framework is nice, but it lacks a lot of things that are basically second nature in MFC. I haven't written a single serious app yet that doesn't require some P/Invoke somewhere because .NET fails to provide some necessary functionality. C# is easy to learn. Knowing both, you can pick which language and framework best meets your needs. Marc MyXaml Advanced Unit Testing

                  N Offline
                  N Offline
                  Nish Nishant
                  wrote on last edited by
                  #14

                  Marc Clifton wrote: The Managed C++ syntax is awful Shouldn't that be "was awful", Marc? The new C++/CLI syntax is far superior to the old syntax and is at par with C# as a first class CLI language. Marc Clifton wrote: I haven't written a single serious app yet that doesn't require some P/Invoke somewhere because .NET fails to provide some necessary functionality. Same here :-)


                  My blog on C++/CLI, MFC/Win32, .NET - void Nish(char* szBlog); My MVP tips, tricks and essays web site - www.voidnish.com

                  D M 2 Replies Last reply
                  0
                  • N Nish Nishant

                    Paul Watson wrote: I am not referring to the LAMP crowd What's LAMP, Paul?


                    My blog on C++/CLI, MFC/Win32, .NET - void Nish(char* szBlog); My MVP tips, tricks and essays web site - www.voidnish.com

                    P Offline
                    P Offline
                    Paul Watson
                    wrote on last edited by
                    #15

                    It stands for Linux Apache MySQL and Perl. I think Lauren is quite into it. regards, Paul Watson South Africa The Code Project

                    N 1 Reply Last reply
                    0
                    • P Paul Watson

                      It stands for Linux Apache MySQL and Perl. I think Lauren is quite into it. regards, Paul Watson South Africa The Code Project

                      N Offline
                      N Offline
                      Nish Nishant
                      wrote on last edited by
                      #16

                      Paul Watson wrote: It stands for Linux Apache MySQL and Perl. I think Lauren is quite into it. Oh okay, thanks.


                      My blog on C++/CLI, MFC/Win32, .NET - void Nish(char* szBlog); My MVP tips, tricks and essays web site - www.voidnish.com

                      1 Reply Last reply
                      0
                      • R raymonxo

                        Yes, C# is easier and allows you to be more productive when developing in a purely managed environment. Please explain how Managed C++ is more powerful when developing in a purely managed environment :confused:. I don't believe this to be true.

                        N Offline
                        N Offline
                        Nish Nishant
                        wrote on last edited by
                        #17

                        raymonxo wrote: Please explain how Managed C++ is more powerful when developing in a purely managed environment . I don't believe this to be true. See :- C++: The Most Powerful Language for .NET Framework Programming[^]


                        My blog on C++/CLI, MFC/Win32, .NET - void Nish(char* szBlog); My MVP tips, tricks and essays web site - www.voidnish.com

                        1 Reply Last reply
                        0
                        • N Nish Nishant

                          Paul Watson wrote: I am not referring to the LAMP crowd What's LAMP, Paul?


                          My blog on C++/CLI, MFC/Win32, .NET - void Nish(char* szBlog); My MVP tips, tricks and essays web site - www.voidnish.com

                          D Offline
                          D Offline
                          Daniel Turini
                          wrote on last edited by
                          #18

                          Nishant S wrote: What's LAMP, Paul? L inux A pache M ySql P erl/PHP Yes, even I am blogging now!

                          1 Reply Last reply
                          0
                          • R raymonxo

                            I forgot to mention, I recommend using C# if you are developing new applications for .NET. C# has a much cleaner syntax than C++; this will be especially true with .NET 2.0 features such as generics. I used to develop in C++ and now that I've been using C# for more than a year I can't imagine going back. C# is so clean and intuitive.

                            N Offline
                            N Offline
                            Nish Nishant
                            wrote on last edited by
                            #19

                            raymonxo wrote: C# has a much cleaner syntax than C++; this will be especially true with .NET 2.0 features such as generics. C++/CLI not only supports generics but also supports templates with managed and unmanaged types giving programmers more options. Nish


                            My blog on C++/CLI, MFC/Win32, .NET - void Nish(char* szBlog); My MVP tips, tricks and essays web site - www.voidnish.com

                            J A 2 Replies Last reply
                            0
                            • N Nish Nishant

                              Marc Clifton wrote: The Managed C++ syntax is awful Shouldn't that be "was awful", Marc? The new C++/CLI syntax is far superior to the old syntax and is at par with C# as a first class CLI language. Marc Clifton wrote: I haven't written a single serious app yet that doesn't require some P/Invoke somewhere because .NET fails to provide some necessary functionality. Same here :-)


                              My blog on C++/CLI, MFC/Win32, .NET - void Nish(char* szBlog); My MVP tips, tricks and essays web site - www.voidnish.com

                              D Offline
                              D Offline
                              Daniel Turini
                              wrote on last edited by
                              #20

                              Nishant S wrote: Shouldn't that be "was awful", Marc? No: it is awful, until MS releases the new C++. While we can play and test with the beta version of the new VS, it's at least irresponsible developing a production software with a beta product which the maker (MS) admits to have tons of bugs and reduced performance due to presence of debugging code. Yes, even I am blogging now!

                              N 1 Reply Last reply
                              0
                              • D Daniel Turini

                                Nishant S wrote: Shouldn't that be "was awful", Marc? No: it is awful, until MS releases the new C++. While we can play and test with the beta version of the new VS, it's at least irresponsible developing a production software with a beta product which the maker (MS) admits to have tons of bugs and reduced performance due to presence of debugging code. Yes, even I am blogging now!

                                N Offline
                                N Offline
                                Nish Nishant
                                wrote on last edited by
                                #21

                                Daniel Turini wrote: While we can play and test with the beta version of the new VS, it's at least irresponsible developing a production software with a beta product which the maker (MS) admits to have tons of bugs and reduced performance due to presence of debugging code. Point conceded. Nish


                                My blog on C++/CLI, MFC/Win32, .NET - void Nish(char* szBlog); My MVP tips, tricks and essays web site - www.voidnish.com

                                1 Reply Last reply
                                0
                                • G Garth Watkins

                                  What's your opinion ? Most of my development has been in C++ using MFC for the last couple of years. I'd like to take advantage of the .net framework, but I'm hesitant of learning a new language just when I'm getting comfortable with C++.

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

                                  The real problem with Managed C++ is that they are rewriting it from scratch, and there is no point in learning it now (I did, and now I am pissed off, but who cares?). As for the "horrible syntax", I've heard this complaint mostly from people who have never really used MC++ (in real projects). Yes it is ugly, but C-like languages have ugly syntax in general; if you are very concerned about syntax, learn Delphi or Python. As for C#, personally I don't like it at all, but I use it whenever I am told to use it and whenever it makes sense to use it (ASP.NET, for instance). To sum up: you have three real choices: 1) Learn C# now. 2) Wait for VS 2005 and then learn Managed C++ (or C++/CLI how they call it now). 3) Learn C# now and Managed C++ when VS 2005 is released. My vote goes for 3)


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

                                  1 Reply Last reply
                                  0
                                  • N Nish Nishant

                                    raymonxo wrote: C# has a much cleaner syntax than C++; this will be especially true with .NET 2.0 features such as generics. C++/CLI not only supports generics but also supports templates with managed and unmanaged types giving programmers more options. Nish


                                    My blog on C++/CLI, MFC/Win32, .NET - void Nish(char* szBlog); My MVP tips, tricks and essays web site - www.voidnish.com

                                    J Offline
                                    J Offline
                                    jan larsen
                                    wrote on last edited by
                                    #23

                                    Nishant S wrote: C++/CLI not only supports generics but also supports templates with managed and unmanaged types giving programmers more options. The new C# version also supports generics... "After all it's just text at the end of the day. - Colin Davies "For example, when a VB programmer comes to my house, they may say 'does your pool need cleaning, sir ?' " - Christian Graus

                                    N 1 Reply Last reply
                                    0
                                    • N Nish Nishant

                                      Marc Clifton wrote: The Managed C++ syntax is awful Shouldn't that be "was awful", Marc? The new C++/CLI syntax is far superior to the old syntax and is at par with C# as a first class CLI language. Marc Clifton wrote: I haven't written a single serious app yet that doesn't require some P/Invoke somewhere because .NET fails to provide some necessary functionality. Same here :-)


                                      My blog on C++/CLI, MFC/Win32, .NET - void Nish(char* szBlog); My MVP tips, tricks and essays web site - www.voidnish.com

                                      M Offline
                                      M Offline
                                      Marc Clifton
                                      wrote on last edited by
                                      #24

                                      Nishant S wrote: Shouldn't that be "was awful", Marc? I was going to reply, but Daniel said it all. Marc MyXaml Advanced Unit Testing

                                      1 Reply Last reply
                                      0
                                      • J jan larsen

                                        Nishant S wrote: C++/CLI not only supports generics but also supports templates with managed and unmanaged types giving programmers more options. The new C# version also supports generics... "After all it's just text at the end of the day. - Colin Davies "For example, when a VB programmer comes to my house, they may say 'does your pool need cleaning, sir ?' " - Christian Graus

                                        N Offline
                                        N Offline
                                        Nish Nishant
                                        wrote on last edited by
                                        #25

                                        jan larsen wrote: The new C# version also supports generics... Yes it does, Jan, but then I never said it didn't, did I? :-) My post was a reply to a comment that said C# supported generics in 2.0.


                                        My blog on C++/CLI, MFC/Win32, .NET - void Nish(char* szBlog); My MVP tips, tricks and essays web site - www.voidnish.com

                                        J 1 Reply Last reply
                                        0
                                        • G Garth Watkins

                                          What's your opinion ? Most of my development has been in C++ using MFC for the last couple of years. I'd like to take advantage of the .net framework, but I'm hesitant of learning a new language just when I'm getting comfortable with C++.

                                          A Offline
                                          A Offline
                                          adrian cooper
                                          wrote on last edited by
                                          #26

                                          Personally i would stick with C++. Its like this, if your at home with C++, then i would invest take a look at the new C++/CLI. The boys at Microsoft seem to be doing some good work over there and have cleaning up the synatax from the old MC++. Plus you get to keep the toolset youve built up using the very powerful standard template library via STL.NET. Then theres deterministic destruction c++ way!! yes you get to write destructors and get the ability to put Managed types on the stack! how cool is that! Basically your getting everything you can do in C# plus loads more goodies! And coupled with the new style syntax you'd be silly not to check it out. I think you can download a beta of the C++/CLI Express compiler too from the msdn website. Its deffo gets my thumbs up, and i can't wait! :) ade me; while(myKitchen.beerInFridge()) { me.watchTV(); me.consumeBeer(myKitchen.getBeerCan()); }

                                          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