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. Why .NET?

Why .NET?

Scheduled Pinned Locked Moved The Lounge
c++csharpdotnetcombusiness
94 Posts 29 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.
  • L Lost User

    norm.net wrote:

    Wow! There goes your pay cheque

    For mission critical I would never considder windows, would you? Nunc est bibendum

    N Offline
    N Offline
    NormDroid
    wrote on last edited by
    #46

    Seem to run airports quite well ;P Blogless

    L 1 Reply Last reply
    0
    • M Marc Clifton

      It's a tool, not a religion. Use the tool you feel appropriate for the job, but know how to use all the tools in your toolchest. Marc Pensieve Functional Entanglement vs. Code Entanglement Static Classes Make For Rigid Architectures

      D Offline
      D Offline
      Dario Solera
      wrote on last edited by
      #47

      Exactly what I think. ;) ___________________________________ Tozzi is right: Gaia is getting rid of us. My Blog [ITA]

      1 Reply Last reply
      0
      • D Dario Solera

        fat_boy wrote:

        .Net is good for web based swervices. PERIOD. Just like J2EE. Client side it has no benefit over C++ and one draw back. It is damn slow.

        I think you're a little wrong. .NET is good for many other things, anyway it's not that slow, IMHO.

        fat_boy wrote:

        BTW, C++ for drivers is a bad idea. It can be done, but there are so maany pitfalls that C is the officially suppported language.

        Never developed a driver... so I take your statement as correct. :)

        fat_boy wrote:

        What embedded devices support .Net?

        No one, I think. In fact the device I'm working on supports only C/C++ and Assembler (Atmel Diopsis 740, ARM RISC processor + DSP). I use .NET only to "simulate" the IO ports on the PC: on the PC the Input will be a Wave file and the Output a MP3 file, but on the device the Input is an array of bytes from 2 ADC and the Output is a stream of bytes (containing mp3 frames) sent to the USB port output buffer. ___________________________________ Tozzi is right: Gaia is getting rid of us. My Blog [ITA]

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

        Dario Solera wrote:

        I think you're a little wrong. .NET is good for many other things, anyway it's not that slow, IMHO

        They probably have improved, added support for things like DBs etc, so I conceede there could be some benefit over MFC. I am generalising. Regarding Embedded, I was wondering if you were running NT or XP embedded on a device. Nunc est bibendum

        1 Reply Last reply
        0
        • M Michael P Butler

          fat_boy wrote:

          Client side it has no benefit over C++ and one draw back. It is damn slow.

          You really need to look into declarative programming. C# is a perfect language for that. The .NET class libraries for XML handling, Databinding, ADO.NET are also far superior to anything in the MFC/C++/WTL world. I've written a lot of desktop business apps that use C#. And I'm far more productive with it, than I ever was in MFC. Michael CP Blog [^] Development Blog [^]

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

          OK, I suppose improovements have been made over MFC support for those, but it is still alot slower than native code. And a lot bigger too. Nunc est bibendum

          M 1 Reply Last reply
          0
          • N NormDroid

            Seem to run airports quite well ;P Blogless

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

            Airports or air traffic controll systems. If you mean the latter please tell me which airport because I will never fly there. Nunc est bibendum

            N 1 Reply Last reply
            0
            • M Michael P Butler

              Simon Hofverberg wrote:

              and to be honest I must admit that I really prefer non-VM code.

              but why do you prefer it? Michael CP Blog [^] Development Blog [^]

              H Offline
              H Offline
              Hofver
              wrote on last edited by
              #51

              Michael P Butler wrote:

              but why do you prefer it?

              I guess the short answer is flexibility and control. Sure: for ultimate flexibility and control you should always use assembler :-D There's always a trade-off between flexibility + control on the one hand and ease-of-use on the other hand. But come to think of it, what I don't like about .NET (and Java) is not that it's a VM (after all, the Win32 API is kind-of a VM too, it's only the kernel that isn't). What I don't like is the garbage collection. It's the flexibility and control of pointers that make me reluctant to use .NET. /Simon This is not a signature.

              R 1 Reply Last reply
              0
              • L Lost User

                OK, I suppose improovements have been made over MFC support for those, but it is still alot slower than native code. And a lot bigger too. Nunc est bibendum

                M Offline
                M Offline
                Michael P Butler
                wrote on last edited by
                #52

                fat_boy wrote:

                but it is still alot slower than native code.

                I notice a small speed decrease, but non of my users have.

                fat_boy wrote:

                And a lot bigger too.

                Once the framework is installed, the actual .EXE and dll's are a lot smaller. Michael CP Blog [^] Development Blog [^]

                1 Reply Last reply
                0
                • H Hofver

                  I posted this in the General discussion forum, but it didn't quite stir up the flame war I expected. After seeing Vista and .NET and Microsoft's Response to Vista and .NET I figured this is the place to go. So ... I use MFC (though I don't particularly like it) and VC++ 6.0 (which I like very very much). I've spent a lot of time trying to figure out why Microsoft (and a whole lot of people affiliated or not affiliated with them) think that everyone should switch from native Win32 C++ development to .NET Framework-based development ... and I just can't figure out why. Things I know: Yes - the .NET framework has a load of nifty classes that I would have access to. Yes - it's quite possible to write native code mixed with .NET code in various ways. Yes - .NET code is/will be portable to other platforms. Yes - I understand fully that .NET is the way to go for a large range of applications (if I hear "web" or "business" bells start ringing). Things I don't know: But - why must Microsoft push it as the future for ALL applications? But - why should everyone be writing VM (Virtual Machine) code? It's quite possible to write a very good framework (platform independent even) that doesn't use a VM. Why doesn't Microsoft do that? And: And - I'm aware of the benefits of VMs. It's just that I'm also aware of the benefits of non-VM code - and to be honest I must admit that I really prefer non-VM code. /Simon This is not a signature.

                  C Offline
                  C Offline
                  Chris Maunder
                  wrote on last edited by
                  #53

                  Reasons to use .NET

                  • Increased security (both in applications having less chance to cause havoc, and malicous users having less chance of effecting buffer overflow attacks) since it's built into the framework
                  • reduced bugs and increased reliability through a managed environment
                  • higher productivity through a better architected language, better tools (reflection allows better intellisense, debugging etc), and a single Base Class Library for all languages
                  • Inter-language operabililty and a common programming model
                  • A wicked-cool component model
                  • No more DLL hell
                  • XCopy deployment (sometimes)
                  • The inevitable march towards XAML and the convergence of Web and desktop development

                  That's off the top of my head. I'm sure I've missed a couple. However, there's no valid argument (yet) to say everyone should move from Win32 to .NET. .NET simply isn't suitable for all tasks (OS development, drivers, high-perf applications). As always, choose the right tool for the job. cheers, Chris Maunder

                  CodeProject.com : C++ MVP

                  H 1 Reply Last reply
                  0
                  • M Marc Clifton

                    It's a tool, not a religion. Use the tool you feel appropriate for the job, but know how to use all the tools in your toolchest. Marc Pensieve Functional Entanglement vs. Code Entanglement Static Classes Make For Rigid Architectures

                    H Offline
                    H Offline
                    Hofver
                    wrote on last edited by
                    #54

                    Marc Clifton wrote:

                    It's a tool, not a religion.

                    Couldn't agree more.

                    Marc Clifton wrote:

                    Use the tool you feel appropriate for the job, but know how to use all the tools in your toolchest.

                    I completely agree on that one as well. But ... why can't I have the cake and eat it too? Why can't MS continue to improve their native tools as well? It sure isn't for lack of resources - indeed it would cost them very little to get something like the .NET framework (the classes of it) running in native C++. /Simon This is not a signature.

                    M 1 Reply Last reply
                    0
                    • H Hofver

                      Michael P Butler wrote:

                      but why do you prefer it?

                      I guess the short answer is flexibility and control. Sure: for ultimate flexibility and control you should always use assembler :-D There's always a trade-off between flexibility + control on the one hand and ease-of-use on the other hand. But come to think of it, what I don't like about .NET (and Java) is not that it's a VM (after all, the Win32 API is kind-of a VM too, it's only the kernel that isn't). What I don't like is the garbage collection. It's the flexibility and control of pointers that make me reluctant to use .NET. /Simon This is not a signature.

                      R Offline
                      R Offline
                      Ryan Roberts
                      wrote on last edited by
                      #55

                      Agreed, it does take some getting used too. Have had some nasty problems caused by my ignorance of the GC when I first stare developing in .NET. You can of course use garbage collection in C++ if you wish.. It's not like controlling memory allocation is a big problem in C++ if you use smart pointers and whatnot. Reflection and attributes are a big plus in .NET though, only way to get close to that kind of power in C++ is to use template metaprogramming, which can get pretty damn hairy. Ryan

                      "Michael Moore and Mel Gibson are the same person, except for a few sit-ups. Moore thought his cheesy political blooper reel was going to tell people how to vote. Mel thought that his little gay SM movie about his imaginary friend was going to help him get to heaven." - Penn Jillette

                      H 1 Reply Last reply
                      0
                      • C Chris Maunder

                        Reasons to use .NET

                        • Increased security (both in applications having less chance to cause havoc, and malicous users having less chance of effecting buffer overflow attacks) since it's built into the framework
                        • reduced bugs and increased reliability through a managed environment
                        • higher productivity through a better architected language, better tools (reflection allows better intellisense, debugging etc), and a single Base Class Library for all languages
                        • Inter-language operabililty and a common programming model
                        • A wicked-cool component model
                        • No more DLL hell
                        • XCopy deployment (sometimes)
                        • The inevitable march towards XAML and the convergence of Web and desktop development

                        That's off the top of my head. I'm sure I've missed a couple. However, there's no valid argument (yet) to say everyone should move from Win32 to .NET. .NET simply isn't suitable for all tasks (OS development, drivers, high-perf applications). As always, choose the right tool for the job. cheers, Chris Maunder

                        CodeProject.com : C++ MVP

                        H Offline
                        H Offline
                        Hofver
                        wrote on last edited by
                        #56

                        Chris Maunder wrote:

                        As always, choose the right tool for the job.

                        Oh yes. ... but ... I just can't see why we aren't allowed to eat the cake and have it too? There aren't any points on your list that couldn't be solved in a top-class native C++ framework. That would give us all those points plus the extra flexibility, control and speed (in some cases) of native code. And it wouldn't take too much MS muscle power to accomplish that. Put twenty guys in a room for a year with all the resources they need and voilĂ . /Simon This is not a signature.

                        K 1 Reply Last reply
                        0
                        • H Hofver

                          I wrote:

                          Why doesn't Microsoft do that? [Why don't they create a really good framework in native code?]

                          Ryan Binns wrote:

                          What language would you do it for? Whichever one they chose, they would have developers in the other languages screaming for blood. The way they have done it, they make the framework available to everyone.

                          Well:

                          Ryan Binns wrote:

                          They know that there are classes of applications that will see no (or little) benefit from moving to a .NET platform.

                          What languages are those classes of applications written in? My guess is 98% C++ (and 80% of those use MFC). Ergo: the language would be C++. Why not give us something like MFC but 1000% better. I'd say all other languages are much easier to replace with the .NET framework. But being a C++ developer I don't know for sure (oh I'm so humble :rolleyes:). /Simon This is not a signature.

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

                          Simon Hofverberg wrote:

                          What languages are those classes of applications written in? My guess is 98% C++ (and 80% of those use MFC).

                          VB has the biggest number of developers. C++ is IMO not necessary for typical business apps. Also, the focus of .NET is largely web and web services development, judging by the job ads. C++ is just too complex and unproductive for such scenarios.

                          Simon Hofverberg wrote:

                          Why not give us something like MFC but 1000% better.

                          There's WTL. I've not used it but many at cp think it's a lot better. You can also use things like wxWidgets and Qt. But why do so many C++ developers tend to think that everything should be done in C++? Kevin

                          H realJSOPR 2 Replies Last reply
                          0
                          • K Kevin McFarlane

                            Simon Hofverberg wrote:

                            What languages are those classes of applications written in? My guess is 98% C++ (and 80% of those use MFC).

                            VB has the biggest number of developers. C++ is IMO not necessary for typical business apps. Also, the focus of .NET is largely web and web services development, judging by the job ads. C++ is just too complex and unproductive for such scenarios.

                            Simon Hofverberg wrote:

                            Why not give us something like MFC but 1000% better.

                            There's WTL. I've not used it but many at cp think it's a lot better. You can also use things like wxWidgets and Qt. But why do so many C++ developers tend to think that everything should be done in C++? Kevin

                            H Offline
                            H Offline
                            Hofver
                            wrote on last edited by
                            #58

                            Kevin McFarlane wrote:

                            But why do so many C++ developers tend to think that everything should be done in C++?

                            Oh, that's an old one. If you have a hammer, everything looks like a nail. And if you have a hammer that can accomplish anything then you are very tempted to use it at everything, even though there might be better tools for it. /Simon This is not a signature.

                            1 Reply Last reply
                            0
                            • R Ryan Roberts

                              Agreed, it does take some getting used too. Have had some nasty problems caused by my ignorance of the GC when I first stare developing in .NET. You can of course use garbage collection in C++ if you wish.. It's not like controlling memory allocation is a big problem in C++ if you use smart pointers and whatnot. Reflection and attributes are a big plus in .NET though, only way to get close to that kind of power in C++ is to use template metaprogramming, which can get pretty damn hairy. Ryan

                              "Michael Moore and Mel Gibson are the same person, except for a few sit-ups. Moore thought his cheesy political blooper reel was going to tell people how to vote. Mel thought that his little gay SM movie about his imaginary friend was going to help him get to heaven." - Penn Jillette

                              H Offline
                              H Offline
                              Hofver
                              wrote on last edited by
                              #59

                              Ryan Roberts wrote:

                              Reflection and attributes are a big plus in .NET though, only way to get close to that kind of power in C++ is to use template metaprogramming, which can get pretty damn hairy.

                              Template metaprogramming is a pain in the ass. :mad: This reflection thing sounds really, really nice. That's the first thing I've heard about .NET that've really made me want to start using it. But still - why not get that into C++? That would be really cool. /Simon This is not a signature.

                              R 1 Reply Last reply
                              0
                              • H Hofver

                                Marc Clifton wrote:

                                It's a tool, not a religion.

                                Couldn't agree more.

                                Marc Clifton wrote:

                                Use the tool you feel appropriate for the job, but know how to use all the tools in your toolchest.

                                I completely agree on that one as well. But ... why can't I have the cake and eat it too? Why can't MS continue to improve their native tools as well? It sure isn't for lack of resources - indeed it would cost them very little to get something like the .NET framework (the classes of it) running in native C++. /Simon This is not a signature.

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

                                Simon Hofverberg wrote:

                                why can't I have the cake and eat it too?

                                Ah, well, that involves a complicated discussion of the big picture. The premise is, Windows sells not only because of the Office and server products that it makes, but because of the thousands of ISV's out there. C++ is a language that the average programmer can get into a lot of trouble with. MFC is clunky and buggy. All the cool graphics stuff requires Avalon, and the graphic "language" to share those cool vector graphics with, XAML, uses (not requires, per se, but heavily relies on) reflection. Couple that with ISV's wanting to write more secure software. So, there's several things going on at once: C# makes development easier because it's an easier language that C++. Build in locking, no pointer management, managed arrays, etc. Designers. Look at the designer support in .NET, leveraging the metadata attributes of the language. Not that I love designers, not that I'm enamoured with entangling my code with all the crap needed to support the visual designers, but it is much more flexible than C++/MFC. Metadata, type converters, so on. C# is managed, supposedly making it less vulnerable to those buffer overrun problems plaguing unmanaged code. Bitmapped controls are going to be a thing of the past, even though I personally couldn't care how sexy the button looks. If it works, it works. But alas, a blocky button doesn't sell anymore. Are you going to use C++ and MFC to render those VG controls? Nope. So the third prong in this is the entire UI experience, which, if you want to take advantage of, you'll probably be using C# or VB.NET, rather than C++. It's possible to use C++, but it still doesn't address the "easier to write in" and "managed" advantages of C#. So, that's my 2c on why you can't have your cake and eat it too. To understand the motivation, I think you have to look at many issues at once, and not just from the programmer's perspective. Marc Pensieve Functional Entanglement vs. Code Entanglement Static Classes Make For Rigid Architectures

                                H 1 Reply Last reply
                                0
                                • L Lost User

                                  norm.net wrote:

                                  Wow! There goes your pay cheque

                                  For mission critical I would never considder windows, would you? Nunc est bibendum

                                  C Offline
                                  C Offline
                                  Carlos Fonseca
                                  wrote on last edited by
                                  #61

                                  fat_boy wrote:

                                  For mission critical I would never considder windows, would you?

                                  Yes, I would, and would even use .NET or Java for the job but it depends on what one considers "mission critical". What about the airport crews? They have to know which planes to service, where they are, what service they require, etc. It doesn't seem "mission critical" but what if they get the wrong information and put too little fuel on a plane that's going to do an intercontinental flight? Or even something simpler, like not delivering the right meals and drinks to the right plane? Or providing the correct information in real-time with all the constant and unforseen changes to passengers? Maybe we'd end up with 200 annoyed people instead of 200 dead people when things do go wrong but it's still important, for them at least. Quidquid latine dictum sit, altum viditur.

                                  L 1 Reply Last reply
                                  0
                                  • M Marc Clifton

                                    It's a tool, not a religion. Use the tool you feel appropriate for the job, but know how to use all the tools in your toolchest. Marc Pensieve Functional Entanglement vs. Code Entanglement Static Classes Make For Rigid Architectures

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

                                    Yes. Language wars are good fun but a waste of time really. Kevin

                                    1 Reply Last reply
                                    0
                                    • H Hofver

                                      I posted this in the General discussion forum, but it didn't quite stir up the flame war I expected. After seeing Vista and .NET and Microsoft's Response to Vista and .NET I figured this is the place to go. So ... I use MFC (though I don't particularly like it) and VC++ 6.0 (which I like very very much). I've spent a lot of time trying to figure out why Microsoft (and a whole lot of people affiliated or not affiliated with them) think that everyone should switch from native Win32 C++ development to .NET Framework-based development ... and I just can't figure out why. Things I know: Yes - the .NET framework has a load of nifty classes that I would have access to. Yes - it's quite possible to write native code mixed with .NET code in various ways. Yes - .NET code is/will be portable to other platforms. Yes - I understand fully that .NET is the way to go for a large range of applications (if I hear "web" or "business" bells start ringing). Things I don't know: But - why must Microsoft push it as the future for ALL applications? But - why should everyone be writing VM (Virtual Machine) code? It's quite possible to write a very good framework (platform independent even) that doesn't use a VM. Why doesn't Microsoft do that? And: And - I'm aware of the benefits of VMs. It's just that I'm also aware of the benefits of non-VM code - and to be honest I must admit that I really prefer non-VM code. /Simon This is not a signature.

                                      C Offline
                                      C Offline
                                      Christian Graus
                                      wrote on last edited by
                                      #63

                                      Simon Hofverberg wrote:

                                      VC++ 6.0 (which I like very very much).

                                      VC++6 is utter crap. Totally non standards compliant, given the choice, I would never look at it again.

                                      Simon Hofverberg wrote:

                                      think that everyone should switch from native Win32 C++ development to .NET Framework-based development

                                      I don't think this is true. What makes you say it ? I think that MFC sells itself now, and that Microsoft is pushing C# far more than C++ in general. I don't see any push for C++/CLI, or against Win32. The Express edition only supports CLI, but it's *free*, of course it's knobbled. Christian Graus - Microsoft MVP - C++

                                      1 Reply Last reply
                                      0
                                      • H Hofver

                                        Chris Maunder wrote:

                                        As always, choose the right tool for the job.

                                        Oh yes. ... but ... I just can't see why we aren't allowed to eat the cake and have it too? There aren't any points on your list that couldn't be solved in a top-class native C++ framework. That would give us all those points plus the extra flexibility, control and speed (in some cases) of native code. And it wouldn't take too much MS muscle power to accomplish that. Put twenty guys in a room for a year with all the resources they need and voilĂ . /Simon This is not a signature.

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

                                        Simon Hofverberg wrote:

                                        There aren't any points on your list that couldn't be solved in a top-class native C++ framework.

                                        And what about people who want to use languages other than C++? Or are you saying they should have done .NET plus implement all of the same stuff in native code just for C++ developers? Incidentally, managed code can have impressive performance in many cases. It's a matter of design. I know a very experienced C++ developer, now writing and selling his own framework in Java, incorporating object persistence and agile development. His framework outperforms and outscales Oracle. However, few developers believe him, so he just sells directly to small companies - though he's started to get interest from more high-tech quarters. Another example: Eiffel is a "managed" environment with .NET-like features but compiles to C. Consequently performance is comparable. And there is at least one case study where an app. was rewritten from C to Eiffel and was 10 times faster as a result. I've had a couple of .NET interviews in which the interviewers had rewritten C++ apps. in C# and got performance increases. Kevin

                                        H 1 Reply Last reply
                                        0
                                        • H Hofver

                                          Ryan Roberts wrote:

                                          Reflection and attributes are a big plus in .NET though, only way to get close to that kind of power in C++ is to use template metaprogramming, which can get pretty damn hairy.

                                          Template metaprogramming is a pain in the ass. :mad: This reflection thing sounds really, really nice. That's the first thing I've heard about .NET that've really made me want to start using it. But still - why not get that into C++? That would be really cool. /Simon This is not a signature.

                                          R Offline
                                          R Offline
                                          Ryan Roberts
                                          wrote on last edited by
                                          #65

                                          But still - why not get that into C++? That would be really cool. Big runtime overhead at a guess :). RTTI is being left as is (i.e bloody useless) in the proposed next version of C++. Ryan

                                          "Michael Moore and Mel Gibson are the same person, except for a few sit-ups. Moore thought his cheesy political blooper reel was going to tell people how to vote. Mel thought that his little gay SM movie about his imaginary friend was going to help him get to heaven." - Penn Jillette

                                          -- modified at 8:31 Thursday 16th March, 2006

                                          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