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.
  • D Dario Solera

    I repeat, there isn't a language good for all. Obviously you cannot write drivers in .NET. Always use the best language and platform for each purpose. .NET is very good for many applications (or part of them), C++ will be always good for OSs, drivers, and so on. For example I have to write and test a complex algorithm in C before porting it to the target platform (it will be run on an embedded device). I'll implement the IO functions in .NET and run the algorithm as a wrapped native DLL to keep the focus on important aspect of the development. If I had to write all the IO functions (anyway they would be thrown away after the testing), I would waste lots of time, without bringing benefits to the projects. ___________________________________ Tozzi is right: Gaia is getting rid of us. My Blog [ITA]

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

    .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. 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.

    Dario Solera wrote:

    embedded device

    What embedded devices support .Net? Nunc est bibendum

    M D 2 Replies 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.

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

      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 H K K 4 Replies Last reply
      0
      • L Lost User

        .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. 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.

        Dario Solera wrote:

        embedded device

        What embedded devices support .Net? Nunc est bibendum

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

        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 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.

          D Offline
          D Offline
          Duncan Edwards Jones
          wrote on last edited by
          #44

          Isn't the idea behind a virtual machine to decouple from the physical hardware so the two can change (evolve) independently? '--8<------------------------ Ex Datis: Duncan Jones Merrion Computing Ltd

          1 Reply Last reply
          0
          • L Lost User

            .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. 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.

            Dario Solera wrote:

            embedded device

            What embedded devices support .Net? Nunc est bibendum

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

            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 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

              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
                      • 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
                        #51

                        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
                        • 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
                          #52

                          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
                          • 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
                                        • 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
                                          #60

                                          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
                                          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