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 is .NET so popular? (Serious Question)

Why is .NET so popular? (Serious Question)

Scheduled Pinned Locked Moved The Lounge
csharphelpquestionc++java
146 Posts 75 Posters 32 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.
  • B b_dunphy

    I have some limited experience with C# and VS 2008 and I don't understand why the .Net framework is so popular. It is a meta environment running on top of the operating system just like Java and the non-Windows implementations do not have all of the capabilities of the Windows version so it's not truly cross platform. I don't see why -- other than Microsoft's semi-forcing the issue -- someone would choose to use this. Shouldn't Win32/64 code run just as well, if not better, since there is no runtime between the code and the system? I can't help thinking of Java or even UCSD P-System Pascal when I look at this. I realize .Net has a large amount of built-in functionality but the same thing could be implemented in native code as well. What am I not seeing here?

    M Offline
    M Offline
    Michael Varey
    wrote on last edited by
    #101

    I believe that Microsoft has actually addressed the productivity issue head on, where Oracle with it's Java platform have not. Since cost of development is currently the foremost concern of management, it makes it almost a no brainer to choose the .Net platform. It's unfortunate that Java has not progressed the same way to provide a head on competition to Microsoft as I believe that would have furthered both platforms. I have extensive experience in both platforms and have to admit that for me, the winner is hands down Microsoft. They did their homework and continually improve the product based on what the customers are seeking. Sounds like a win-win situation to me.

    mvarey

    1 Reply Last reply
    0
    • B b_dunphy

      I have some limited experience with C# and VS 2008 and I don't understand why the .Net framework is so popular. It is a meta environment running on top of the operating system just like Java and the non-Windows implementations do not have all of the capabilities of the Windows version so it's not truly cross platform. I don't see why -- other than Microsoft's semi-forcing the issue -- someone would choose to use this. Shouldn't Win32/64 code run just as well, if not better, since there is no runtime between the code and the system? I can't help thinking of Java or even UCSD P-System Pascal when I look at this. I realize .Net has a large amount of built-in functionality but the same thing could be implemented in native code as well. What am I not seeing here?

      B Offline
      B Offline
      BrianSwiger
      wrote on last edited by
      #102

      If this question is truly "serious"...as I do see all the fun responses. Pure and simple...abstraction. Look at the evolution of software languages. We as developers need to continue to work faster, more efficiently and more effectively to implement business solutions with time-to-market in mind. I've view it as an evolution of development...where I don't need to write code to interact with the network stack, input/output of any kind, or other basic operations...since .NET provides this. In addition, there are a multitude of libraries to assist in tasks that could take a long while to implement. Sure, you could argue C++ and libraries...or any other language, such as Java, which was stated...yet...it's about making it easier for developers to build a business-centric solution faster and easier to maintain (hopefully if you designed it well). So, in short...abstraction from the system. As others joked...toggle switches to machine language to binary....to.... .NET. :D

      1 Reply Last reply
      0
      • V vsysolts

        Hehe, it depends.. Here is my C++ code for parsing some simple XML with obstacle information for the map:

        bool ObstacleXMLLoader::LoadFromFile(std::string file, std::vector &data)
        {
        this->m_data_out = &data;
        m_data_out->clear();

        struct XmlStateMachineScriptCommand script \[\] = {
            XML\_NODE("@TOP"),
            XML\_NODE("@obstacles", XP\_SKIP\_UNKNOWN), // skip the tags like coordinate\_system and bounding\_box
            XML\_TRAN("@TOP",               ELEMENT,   "obstacles",    "@obstacles"),
            XML\_TRAN("@obstacles",         ELEMENT,   "point",        "@in\_obstacle",   boost::bind(&ObstacleXMLLoader::\_StartObstacle, this, ObstacleXMLLoader::POINT)),
            XML\_TRAN("@obstacles",         ELEMENT,   "line",         "@in\_obstacle",   boost::bind(&ObstacleXMLLoader::\_StartObstacle, this, ObstacleXMLLoader::LINE)),
              XML\_TRAN("@in\_obstacle",     ATTRIBUTE, "height",       "",               boost::bind(&XMLAttributeParser, "height", \_1, &m\_to\_be\_filled.height)),
              XML\_TRAN("@in\_obstacle",     ELEMENT,   "coordinate",   "@in\_coor"),
                XML\_TRAN("@in\_coor",       ATTRIBUTE, "lat",          "",               boost::bind(&XMLAttributeParser, "lat", \_1, &m\_current\_coordinate.y)),
                XML\_TRAN("@in\_coor",       ATTRIBUTE, "lon",          "",               boost::bind(&XMLAttributeParser, "lon", \_1, &m\_current\_coordinate.x)),
              XML\_NEND("@in\_coor",                                                      boost::bind(&ObstacleXMLLoader::\_PushCoordinate, this)),
            XML\_NEND("@in\_obstacle",                                                    boost::bind(&ObstacleXMLLoader::\_FinishObstacle, this))
        };
        
        return BaseXMLLoader::LoadFromFile(file, s\_machine\_name, sizeof(script)/sizeof(script\[0\]), script);
        

        }

        Note this is SAX parser being able to process 25Mb XML in 4 seconds three-year old machine.

        M Offline
        M Offline
        Mike Marynowski
        wrote on last edited by
        #103

        Oh God that code is hard to look at. I've been doing quite a bit of C/C++ in the last few months for embedded and Windows programming, and it really hurts after working with C# almost exclusively for a few years. I suppose it's kind of "fun," but it takes so much longer to do everything that I just feel unproductive.

        1 Reply Last reply
        0
        • M Mike Marynowski

          Actually, MSN is .NET/WPF now, has been for a while. edit: er, I mean Windows Live Messenger ;P

          R Offline
          R Offline
          Rama Krishna Vavilala
          wrote on last edited by
          #104

          No, it is not! When I first saw it I thought it was WPF too. Then I researched a little more using Spy++ and Visual Studio. It turns out that it is not WPF or .NET.

          M 1 Reply Last reply
          0
          • R Rama Krishna Vavilala

            No, it is not! When I first saw it I thought it was WPF too. Then I researched a little more using Spy++ and Visual Studio. It turns out that it is not WPF or .NET.

            M Offline
            M Offline
            Mike Marynowski
            wrote on last edited by
            #105

            What makes you think it isn't? The only way Messenger can take up 40mb in task manager is if it is loading the .NET runtime, there is no way it's running native code with that memory usage.

            R 1 Reply Last reply
            0
            • M Mike Marynowski

              What makes you think it isn't? The only way Messenger can take up 40mb in task manager is if it is loading the .NET runtime, there is no way it's running native code with that memory usage.

              R Offline
              R Offline
              Rama Krishna Vavilala
              wrote on last edited by
              #106

              Mike Marynowski wrote:

              The only way Messenger can take up 40mb in task manager is if it is loading the .NET runtime

              LOL:) Easiest way to find that is through Spy++. If an application is written in WPF (or has .NET) you see specific window classes. Also, when you attach a debugger you will find that there is no CLR loaded into the Live Messenger process.

              M 1 Reply Last reply
              0
              • P Pualee

                I bet the young-uns here don't even know what a dip-switch is.

                G Offline
                G Offline
                grgran
                wrote on last edited by
                #107

                DIP switch !!! DIP switch!!!! that's for you little ones just out of diapers Paddle switches are what you need I don't want to get out my bifocals magnifying glass just to move a switch with a toothpick. Real men use big beefy paddle switches for input (directly into memory) in octal, cause hex is for sissies.

                G 1 Reply Last reply
                0
                • R Rama Krishna Vavilala

                  Mike Marynowski wrote:

                  The only way Messenger can take up 40mb in task manager is if it is loading the .NET runtime

                  LOL:) Easiest way to find that is through Spy++. If an application is written in WPF (or has .NET) you see specific window classes. Also, when you attach a debugger you will find that there is no CLR loaded into the Live Messenger process.

                  M Offline
                  M Offline
                  Mike Marynowski
                  wrote on last edited by
                  #108

                  Hmmm, it appears as though you are correct. I read something about the new MSN having a revamped UI with WPF a while ago, and when I saw the new UI, it looked pretty WPFish. How odd.

                  1 Reply Last reply
                  0
                  • R Rama Krishna Vavilala

                    b_dunphy wrote:

                    why the .Net framework is so popular.

                    Depends on whom you ask? How many*desktop* applications which you use on a day to day basis are written in .NET? Let' see:- 1. Internet Browsers - Chrome, IE, FF, Opera -> None of them are in .NET 2. Microsoft Office - Not .NET (though some add-ons can be .NET) 3. Windows Live Messenger, Yahoo messenger, Google Talk etc - Not .NET 4. Notepad, Paint, Calculator - Not .NET 5. Visual Studio - Mainly .NET 6. SQL Server - Not.NET but portions of Management studio/BI Studio are .NET 7. Task Manager - Not .NET I am just talking about Windows here. Mac and Linux users may survive even without knowing about .NET. The place where .NET is popular is in Websites developed for IIS (lot of intranet sites). ASP.NET is almost the de-facto choice. Now again, IIS is a very small percent of total websites out there. The only other place where .NET is popular is enterprise applications or custom developed enterprise apps.

                    J Offline
                    J Offline
                    Jeff Connelly
                    wrote on last edited by
                    #109

                    Rama Krishna Vavilala wrote:

                    The only other place where .NET is popular is enterprise applications or custom developed enterprise apps.

                    The "only other place"? That's a fairly substantial chunk of the market.

                    1 Reply Last reply
                    0
                    • B b_dunphy

                      I have some limited experience with C# and VS 2008 and I don't understand why the .Net framework is so popular. It is a meta environment running on top of the operating system just like Java and the non-Windows implementations do not have all of the capabilities of the Windows version so it's not truly cross platform. I don't see why -- other than Microsoft's semi-forcing the issue -- someone would choose to use this. Shouldn't Win32/64 code run just as well, if not better, since there is no runtime between the code and the system? I can't help thinking of Java or even UCSD P-System Pascal when I look at this. I realize .Net has a large amount of built-in functionality but the same thing could be implemented in native code as well. What am I not seeing here?

                      M Offline
                      M Offline
                      mobilemobile
                      wrote on last edited by
                      #110

                      I can't speak for why businesses choose their platforms, but as a programmer, starting with Visual Studio 2005 -- I finally feel like I'm in the proper development environment after programming for 35 years. 1) There's true integration -- if I need to create a class (and I have full OOP, not the sorta OOP you get in PHP) I can create a class, basically on-the-fly, and it will be immediately available to code that is calling it. Any mods are immediately available, with no gyrations or extra mechanics to link things up. It is an extremely productive environment. 2) There are so many well-built ready-made classes available, I can concentrate on the application without getting side-tracked building a software library. Starting with FORTRAN, I've built these types of libraries with each new platform, but in VS in most cases I don't need to. (How many times have I programmed a Shell Sort over the last 3 decades?) Many of these classes are quite sophisticated btw, a lot more than sorts. My specialty is systems analysis (mostly business systems) and applications -- I can stick to that instead of spending days researching other specialties. 3) Debugging is pretty amazing -- stepping into or around calls etc -- plus if I want to try out some code I can exercise pretty much any code I want at a breakpoint. It's just so simple! That's the thing -- it's simple. I just write code now. I don't see programmers using VB to write a generic app like Office, but for business apps it's great.

                      1 Reply Last reply
                      0
                      • B b_dunphy

                        I have some limited experience with C# and VS 2008 and I don't understand why the .Net framework is so popular. It is a meta environment running on top of the operating system just like Java and the non-Windows implementations do not have all of the capabilities of the Windows version so it's not truly cross platform. I don't see why -- other than Microsoft's semi-forcing the issue -- someone would choose to use this. Shouldn't Win32/64 code run just as well, if not better, since there is no runtime between the code and the system? I can't help thinking of Java or even UCSD P-System Pascal when I look at this. I realize .Net has a large amount of built-in functionality but the same thing could be implemented in native code as well. What am I not seeing here?

                        X Offline
                        X Offline
                        xramnet
                        wrote on last edited by
                        #111

                        I only know why I use it, and that's because it works for me. Is it perfect? No. Does it let me get projects done? Yes.

                        1 Reply Last reply
                        0
                        • K Kenneth Ede

                          I too come from a back-ground that started out with machine code, assembler, C, etc. i.e. I'm an old git. Efficient code was the over-whelming goal, providing it worked. The emphasis has changed dramatically. Today, memory and disk space are both dirt cheap, cpu's are much quicker. The goal has changed to production - kinda like "never mind the quality, feel the width". There's also an obsession that code is "readable". I once worked with a brilliant guy who would remove all/any comments he found in code files because he felt anyone worth their salt should be able to figure what was going on from looking at the code. Generally speaking we had to have a fairly good understanding about what's going on under the hood. That's no longer the case. It's now more a matter of knowing which pieces to plug together. .Net is good example of this. The tools it provides and amount of work and effort it does for developers is astonishing compared to programming with C on a PDP-11. The cost is bloated exe's. Rather like the results of cobol compilers. No one cares about efficient code, or how things work; it's all just get it out there.

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

                          Kenneth Ede wrote:

                          The cost is bloated exe's.

                          Actually, I'd beg to differ on that point. The size of executables is something I'm intimately and very concerned with as we make business software distributed only online. We started out years ago with MFC / C++ and a slew of third party stuff like Crystal Reports etc. By comparison our .net version of that same app with at least triple the features it used to have but all the same functionality is a tiny fraction of the size it used to be. .Net apps have a tiny footprint thanks to the vast built in functionality of the clr.


                          Let not your mind run on what you lack as much as on what you have already. - Marcus Aurelius

                          1 Reply Last reply
                          0
                          • B b_dunphy

                            I have some limited experience with C# and VS 2008 and I don't understand why the .Net framework is so popular. It is a meta environment running on top of the operating system just like Java and the non-Windows implementations do not have all of the capabilities of the Windows version so it's not truly cross platform. I don't see why -- other than Microsoft's semi-forcing the issue -- someone would choose to use this. Shouldn't Win32/64 code run just as well, if not better, since there is no runtime between the code and the system? I can't help thinking of Java or even UCSD P-System Pascal when I look at this. I realize .Net has a large amount of built-in functionality but the same thing could be implemented in native code as well. What am I not seeing here?

                            S Offline
                            S Offline
                            samuelms
                            wrote on last edited by
                            #113

                            I've asked myself that several times. Java used to be my favorite programming language before I switched to .Net. The first draw for me was how easy putting together a GUI (win app) was. In Java this took significantly longer 5 years ago, although Java does have nice layout containers that .Net does not out of the box. I think other draws are other language features. Getters / Setters, Delegates, LINQ (big for a lot of people now). I like the Asp .Net model over any other web framework, and its nice that the code behinds are in a .Net language. WPF is also a very powerful framework that uses .Net as well as Silverlight. I'd be interested to hear why others are drawn to .Net over say Java or another language.

                            1 Reply Last reply
                            0
                            • B b_dunphy

                              I have some limited experience with C# and VS 2008 and I don't understand why the .Net framework is so popular. It is a meta environment running on top of the operating system just like Java and the non-Windows implementations do not have all of the capabilities of the Windows version so it's not truly cross platform. I don't see why -- other than Microsoft's semi-forcing the issue -- someone would choose to use this. Shouldn't Win32/64 code run just as well, if not better, since there is no runtime between the code and the system? I can't help thinking of Java or even UCSD P-System Pascal when I look at this. I realize .Net has a large amount of built-in functionality but the same thing could be implemented in native code as well. What am I not seeing here?

                              D Offline
                              D Offline
                              Daniel Sheiner
                              wrote on last edited by
                              #114

                              Here's a summary of some of C#'s cooler features.

                              1 Reply Last reply
                              0
                              • B b_dunphy

                                I have some limited experience with C# and VS 2008 and I don't understand why the .Net framework is so popular. It is a meta environment running on top of the operating system just like Java and the non-Windows implementations do not have all of the capabilities of the Windows version so it's not truly cross platform. I don't see why -- other than Microsoft's semi-forcing the issue -- someone would choose to use this. Shouldn't Win32/64 code run just as well, if not better, since there is no runtime between the code and the system? I can't help thinking of Java or even UCSD P-System Pascal when I look at this. I realize .Net has a large amount of built-in functionality but the same thing could be implemented in native code as well. What am I not seeing here?

                                P Offline
                                P Offline
                                patbob
                                wrote on last edited by
                                #115

                                b_dunphy wrote:

                                I realize .Net has a large amount of built-in functionality but the same thing could be implemented in native code as well. What am I not seeing here?

                                It is. .Net is a library/framework, and it's popular because it works and has the kinds of flexbility developers need. It also easier to learn and use than MSs previous GUI frameworks. C# is a language. Near as I can tell, its popular because Microsoft, wanting to out-compete Java, told us developers to like it. Its slow and a bit buggy with some half thought out features built right into the language and others designed into the Visual Studio IDE. If it weren't for the .Net library, I'd have no interest in learning and using it. Of course, as things stand now, whatever the reasons, it has become a resume prerequisite.

                                patbob

                                1 Reply Last reply
                                0
                                • B b_dunphy

                                  I have some limited experience with C# and VS 2008 and I don't understand why the .Net framework is so popular. It is a meta environment running on top of the operating system just like Java and the non-Windows implementations do not have all of the capabilities of the Windows version so it's not truly cross platform. I don't see why -- other than Microsoft's semi-forcing the issue -- someone would choose to use this. Shouldn't Win32/64 code run just as well, if not better, since there is no runtime between the code and the system? I can't help thinking of Java or even UCSD P-System Pascal when I look at this. I realize .Net has a large amount of built-in functionality but the same thing could be implemented in native code as well. What am I not seeing here?

                                  S Offline
                                  S Offline
                                  SeattleC
                                  wrote on last edited by
                                  #116

                                  Does anyone ever give serious answers to these questions, or is this the humor page? And how would I know if an answer to this question that made me laugh was a serious answer? .NET is designed NOT to be cross platform. It is designed to create lock-in to microsoft OS products. That said, it is a very extensive, very complete library on microsoft products. People like it because it is effective, once you buy into the OS lock-in. It's more efficient at run-time than many Java things, partly because it's a thin wrapper over windows C libraries. C# does have some language features that Java doesn't have, if you care about such arcana. And the microsoft IDE is rich, fast, and stable. What's not to like, except for the lock-in?

                                  1 Reply Last reply
                                  0
                                  • C Chris Losinger

                                    .Net is much more friendly to new programmers than something like MFC. .Net is a far more comprehensive library than MFC (or any other framework i've ever seen). also, .Net provides a far better way to do web programming than C++. (and i say this as a die-hard C++ programmer) and this "meta environment" you speak of is a bit exaggerated. .Net languages are compiled to native code, at run time. there isn't really any huge "runtime" between the code and the OS. there's an environment and a standard librar, just as there is with any other language. but it's not like .Net is interpreted or anything.

                                    image processing toolkits | batch image processing

                                    S Offline
                                    S Offline
                                    Stefan_Lang
                                    wrote on last edited by
                                    #117

                                    Comparing .NET to MFC is like comparing apples to poisoned gruel with bits of glass splinters and rusty nails in it. The time I worked with MFC is what I consider my 'dark age of programming'. If you've read The Pillars of the Earth by Ken Follet, the pains Follet's characters go through does not seem that dissimilar to my pain when programming with MFC. Or maybe I should say against MFC. ... Although, when I think about it, OLE was even worse! :cool:

                                    1 Reply Last reply
                                    0
                                    • S Single Step Debugger

                                      John Simmons / outlaw programmer wrote:

                                      Why did the farmer cross the road?

                                      To milk the bull with bear hands and earn a man points.

                                      There is only one Ashley Judd and Salma Hayek is her prophet! Advertise here – minimum three posts per day are guaranteed.

                                      S Offline
                                      S Offline
                                      Stefan_Lang
                                      wrote on last edited by
                                      #118

                                      wouldn't that be 'bear paws'? ;P

                                      1 Reply Last reply
                                      0
                                      • B b_dunphy

                                        I have some limited experience with C# and VS 2008 and I don't understand why the .Net framework is so popular. It is a meta environment running on top of the operating system just like Java and the non-Windows implementations do not have all of the capabilities of the Windows version so it's not truly cross platform. I don't see why -- other than Microsoft's semi-forcing the issue -- someone would choose to use this. Shouldn't Win32/64 code run just as well, if not better, since there is no runtime between the code and the system? I can't help thinking of Java or even UCSD P-System Pascal when I look at this. I realize .Net has a large amount of built-in functionality but the same thing could be implemented in native code as well. What am I not seeing here?

                                        P Offline
                                        P Offline
                                        Patrick Fox
                                        wrote on last edited by
                                        #119

                                        I have noticed that on average the time it takes to develop a Win32 app using .Net is about half of what it is with other technologies. The simple answer is I can get more done faster. In the rare case where .Net performance isn't up to the task, I can write specialized functions in C and put them in a Dll and use P/Invoke to execute them. It is very similar to Java, but Java is built to run on every platform and because of this doesn't perform as well.

                                        1 Reply Last reply
                                        0
                                        • B b_dunphy

                                          I have some limited experience with C# and VS 2008 and I don't understand why the .Net framework is so popular. It is a meta environment running on top of the operating system just like Java and the non-Windows implementations do not have all of the capabilities of the Windows version so it's not truly cross platform. I don't see why -- other than Microsoft's semi-forcing the issue -- someone would choose to use this. Shouldn't Win32/64 code run just as well, if not better, since there is no runtime between the code and the system? I can't help thinking of Java or even UCSD P-System Pascal when I look at this. I realize .Net has a large amount of built-in functionality but the same thing could be implemented in native code as well. What am I not seeing here?

                                          G Offline
                                          G Offline
                                          Greg Olmstead
                                          wrote on last edited by
                                          #120

                                          Boy, this thread, started to answer a simple question, is starting to look all too familiar. Look. people will always use the language that they like most and/or best suits their situation people will use the languages they know best people will always find ways of telling people that their choice of language/architecture/hair tonic is better than yours and that you are stupid/lazy/bald people will always come to threads like these to vindicate themselves and rationalize the use of their own preferred language, or just to bash the other side. people will always take a side and selectively listen to only the arguments that support their choice, blocking out all the others with ridicule and high-fallutin talk People will always be mac vs. pc (i'm not talking about actually liking one over the other, just the mindset. Red vs. blue, left vs. right, its all the same). It's human nature guys, lets all work together and make the world a better place, rather than split ourselves up and hate each other for what makes us great, our ability to think for ourselves.

                                          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