Why is .NET so popular? (Serious Question)
-
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_dunphy wrote:
What am I not seeing here?
You are not seeing that a popularity of a technology has little to do with its technical qualities. Why is PHP popular? Why is C popular? Why is Java popular? Why is Scheme not popular? Why is Haskell not popular?
-
b_dunphy wrote:
What am I not seeing here?
You must be new to programming, which is good, since I don't have to therefore manage the arduous task of deleting all the wrong pointers you've learned from other people. Something to reflect on. ;) Marc
modified on Wednesday, December 1, 2010 4:18 PM
I'm not really new to programming per se, I learned to program on an Apple ][+ in 1983 and have been programming ever since on various languages / platforms. What I am is self taught so my grasp of programming theory is iffy at best and I know it, that is why I asked. I am a Comp. Sci. major but the local community college is not offering the courses I need to finish my degree due to low demand for any one class and the economy.
-
b_dunphy wrote:
What am I not seeing here?
You are not seeing that a popularity of a technology has little to do with its technical qualities. Why is PHP popular? Why is C popular? Why is Java popular? Why is Scheme not popular? Why is Haskell not popular?
Nemanja Trifunovic wrote:
Why is Java popular
it had a movie. movies always make things famous. JAVA: the movie[^]
-
l a u r e n wrote:
you really think .NET is good for web??? do you mean the c# language or the .NET runtime?
if we're going to be pedantic, then i mean .Net + C# + ASP.Net + IIS + every other thing that's required to accomplish what everyone means when they say something like "using .Net for web apps".
l a u r e n wrote:
.NET is the antithesis of what the web is about and consequently sucks at it
i encourage you to read what i actually wrote.
l a u r e n wrote:
would you think it a great idea to use say php to write desktop apps?
i have no idea what you're talking about, now.
apologies if i misunderstood you i thought you were saying .NET was a good way to write web apps if you were saying it is better than using c++ then i would probably agree if you are saying it is "a good way" to write them i stick to my original opinion microsoft do not understand the web ... do not appear to want to understand the web ... and keep trying to get proprietary tools adopted (and failing miserably) ... in short they suck at web and should stick to what they do best, which is (i think) desktop apps nd frameworks if i sound jaded maybe it's because i have had to spend a lot of time using IIS and .NET for web and frankly it's crap
"mostly watching the human race is like watching dogs watch tv ... they see the pictures move but the meaning escapes them"
-
l a u r e n wrote:
would you think it a great idea to use say php to write desktop apps?
I have CDO, it's OCD with the letters in the right order; just as they ruddy well should be
Forgive your enemies - it messes with their heads
that is just all kinds of wrong :wtf:
"mostly watching the human race is like watching dogs watch tv ... they see the pictures move but the meaning escapes them"
-
Hardware Binary Editor :thumbsup: (aka toggle switches)
Steve _________________ I C(++) therefore I am
-
I'm not really new to programming per se, I learned to program on an Apple ][+ in 1983 and have been programming ever since on various languages / platforms. What I am is self taught so my grasp of programming theory is iffy at best and I know it, that is why I asked. I am a Comp. Sci. major but the local community college is not offering the courses I need to finish my degree due to low demand for any one class and the economy.
b_dunphy wrote:
What I am is self taught so my grasp of programming theory is iffy at best and I know it, that is why I asked.
Well, it really doesn't have much to do with programming theory. Microsoft wanted a language that would appeal to the Java developers, so put together something that had garbage collection so the programmer didn't have to think about it (usually), a better implementation of reflection, and was ultimately extensible into language features like lambda expressions (and LINQ), which was a nod at the functional programmers and then of course turned into a full fledged bridging functional language, F#. But also, behind the scenes, is a very useful concept, that of compiling to intermediate language (IL), also known 50 years ago as p-code (show me one thing Microsoft has actually invented that is original) that allows a pretty seemless integration of different .NET languages (VB, F#, IronPython, C#, etc), and, at runtime, can then actually emit assembly code that is tuned to the processor and system on which it's running (which can cause no end of trouble when working with Oracle's data provider.) But they also ended up with a language they truly owned (please, let's not delude ourselves that C# is anything other than what Microsoft wants it to be) which gives them tremendous long term leverage in a variety of markets. You can now write C# code instead of PL/SQL in SQL Server, if you look at the metadata that DevExpress's XtraReports generates, it's actually C# code, and so forth. The .NET framework is very flexible, even for its drawbacks (which I don't encounter too often), and provides a real solid foundation on which to build even higher level frameworks, which unfortunately Microsoft is mired in at the moment (WCF, WPF, multitasking, etc) without what I think is a comprehensive, in depth understanding of the problem domain. But that's me. :) And management falls into the trap that .NET is a better environment because, since it does memory management, programmers will make less bugs, since C# is like Java they don't have to do a lot of "retooling of their resources" (as in, spend money training people with new skills), and since .NET supports VB, they hire programmers on the cheap here and in India, and worse, they can even do some of the programming themselves. The road to hell is paved with good intentions. In Microsoft's case, they pave the road to hell. But actually, C#, F#, and .NET are really cool. I d
-
that is just all kinds of wrong :wtf:
"mostly watching the human race is like watching dogs watch tv ... they see the pictures move but the meaning escapes them"
Isn't it though.
I have CDO, it's OCD with the letters in the right order; just as they ruddy well should be
Forgive your enemies - it messes with their heads
-
b_dunphy wrote:
What I am is self taught so my grasp of programming theory is iffy at best and I know it, that is why I asked.
Well, it really doesn't have much to do with programming theory. Microsoft wanted a language that would appeal to the Java developers, so put together something that had garbage collection so the programmer didn't have to think about it (usually), a better implementation of reflection, and was ultimately extensible into language features like lambda expressions (and LINQ), which was a nod at the functional programmers and then of course turned into a full fledged bridging functional language, F#. But also, behind the scenes, is a very useful concept, that of compiling to intermediate language (IL), also known 50 years ago as p-code (show me one thing Microsoft has actually invented that is original) that allows a pretty seemless integration of different .NET languages (VB, F#, IronPython, C#, etc), and, at runtime, can then actually emit assembly code that is tuned to the processor and system on which it's running (which can cause no end of trouble when working with Oracle's data provider.) But they also ended up with a language they truly owned (please, let's not delude ourselves that C# is anything other than what Microsoft wants it to be) which gives them tremendous long term leverage in a variety of markets. You can now write C# code instead of PL/SQL in SQL Server, if you look at the metadata that DevExpress's XtraReports generates, it's actually C# code, and so forth. The .NET framework is very flexible, even for its drawbacks (which I don't encounter too often), and provides a real solid foundation on which to build even higher level frameworks, which unfortunately Microsoft is mired in at the moment (WCF, WPF, multitasking, etc) without what I think is a comprehensive, in depth understanding of the problem domain. But that's me. :) And management falls into the trap that .NET is a better environment because, since it does memory management, programmers will make less bugs, since C# is like Java they don't have to do a lot of "retooling of their resources" (as in, spend money training people with new skills), and since .NET supports VB, they hire programmers on the cheap here and in India, and worse, they can even do some of the programming themselves. The road to hell is paved with good intentions. In Microsoft's case, they pave the road to hell. But actually, C#, F#, and .NET are really cool. I d
A cogent, lucid and superlative argument delivered, as usual, with aplomb. I couldn't have put it better myself.
I have CDO, it's OCD with the letters in the right order; just as they ruddy well should be
Forgive your enemies - it messes with their heads
-
apologies if i misunderstood you i thought you were saying .NET was a good way to write web apps if you were saying it is better than using c++ then i would probably agree if you are saying it is "a good way" to write them i stick to my original opinion microsoft do not understand the web ... do not appear to want to understand the web ... and keep trying to get proprietary tools adopted (and failing miserably) ... in short they suck at web and should stick to what they do best, which is (i think) desktop apps nd frameworks if i sound jaded maybe it's because i have had to spend a lot of time using IIS and .NET for web and frankly it's crap
"mostly watching the human race is like watching dogs watch tv ... they see the pictures move but the meaning escapes them"
Tried ASP.NET MVC yet? I rather like it. The aspx look short and to the point, not too much plumbing to be done. Urls look neat too.
Wout
-
A cogent, lucid and superlative argument delivered, as usual, with aplomb. I couldn't have put it better myself.
I have CDO, it's OCD with the letters in the right order; just as they ruddy well should be
Forgive your enemies - it messes with their heads
Pete O'Hanlon wrote:
A cogent, lucid and superlative argument delivered, as usual, with aplomb. I couldn't have put it better myself.
Just trying to increase the wisdom units! Marc
-
Rama Krishna Vavilala wrote:
5. Visual Studio - Mainly .NET
And see how frequently people here bitch about it being buggy and slow. Now whether or not that's the fault of .NET, or the developers, or some combination, who knows, but it's not exactly a positive endorsement. Personally VS 2008 drives me up the wall, since I do a mix of C# and C++ coding, and I really long for the days of VS6.
¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow
Jim Crafton wrote:
Personally VS 2008 drives me up the wall, since I do a mix of C# and C++ coding, and I really long for the days of VS6.
VS6 has already been released you know, what are you waiting for? :laugh:
Wout
-
You looking for your punch card collection, Henry?
I wasn't, now I am, then I won't be anymore.
Don't have to look for them. I know exactly where they are. They are in the storage box along with my 5.25inch disks, the DOS 6.22 and MASM 4.?? installation disks. Trouble is I don't remember where the box is. :laugh:
Henry Minute Do not read medical books! You could die of a misprint. - Mark Twain Girl: (staring) "Why do you need an icy cucumber?" “I want to report a fraud. The government is lying to us all.”
-
Don't see why not. Several of them are dip-sticks, same family. :-D
Henry Minute Do not read medical books! You could die of a misprint. - Mark Twain Girl: (staring) "Why do you need an icy cucumber?" “I want to report a fraud. The government is lying to us all.”
-
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?
As an owner of a business application software shop who switched our commercial apps from native to managed many years ago I can tell you exactly what you're not seeing: Vastly reduced time to market, vastly reduced support footprint, vastly reduced distribution file size, vastly reduced overall tech support commitment and it's far safer to make changes to the code without fear of everything blowing up horribly so we're more apt to make changes and improvements and implement new suggestions` to already proven and released code bases. That's why we use it and for no other reason. Now if you're a hobbyist or a huge shop, say in a private company making in house software with an unlimited budget and manpower by all means choose to do native development but doing new business and general app development in a non managed environment is just plain archaic in this day and age.
“If you want to build a ship, don't drum up people together to collect wood and don't assign them tasks and work, but rather teach them to long for the endless immensity of the sea” - Antoine de Saint-Exupery
-
Pete O'Hanlon wrote:
A cogent, lucid and superlative argument delivered, as usual, with aplomb. I couldn't have put it better myself.
Just trying to increase the wisdom units! Marc
Ah. I tried the wisdom thing a while back. It didn't work for me. Now, I just go for the sneering, superior attitude.
I have CDO, it's OCD with the letters in the right order; just as they ruddy well should be
Forgive your enemies - it messes with their heads
-
b_dunphy wrote:
What am I not seeing here?
You are not seeing that a popularity of a technology has little to do with its technical qualities. Why is PHP popular? Why is C popular? Why is Java popular? Why is Scheme not popular? Why is Haskell not popular?
Nemanja Trifunovic wrote:
Why is Scheme not popular?
Because of Leppie? :rolleyes:
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke
[My articles] -
Ah. I tried the wisdom thing a while back. It didn't work for me. Now, I just go for the sneering, superior attitude.
I have CDO, it's OCD with the letters in the right order; just as they ruddy well should be
Forgive your enemies - it messes with their heads
Pete O'Hanlon wrote:
I tried the wisdom thing a while back. It didn't work for me. Now, I just go for the sneering, superior attitude.
LOL. I tried the sneering superior attitude for years, then wised up. :) Marc
-
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_dunphy wrote:
and the non-Windows implementations do not have all of the capabilities of the Windows version so it's not truly cross platform
There's first a distinction between web-applications that run on a server and desktop applications. Whatever language you choose, there will hardly be any language providing a seamless move between those two architectures. You can host a web-server, or run desktop-applications on different platforms if you'd like. Or console-applications. Or services :) I'm running Suse Linux, using MonoDevelop (.NET 4 by now). Not for web-applications, but for desktop-applications. No, not using the GTK# binding, but using WinForms. Why? Well, it's supported under Mono, and Linux hardly requires any resources.
I are Troll :suss:
-
b_dunphy wrote:
What I am is self taught so my grasp of programming theory is iffy at best and I know it, that is why I asked.
Well, it really doesn't have much to do with programming theory. Microsoft wanted a language that would appeal to the Java developers, so put together something that had garbage collection so the programmer didn't have to think about it (usually), a better implementation of reflection, and was ultimately extensible into language features like lambda expressions (and LINQ), which was a nod at the functional programmers and then of course turned into a full fledged bridging functional language, F#. But also, behind the scenes, is a very useful concept, that of compiling to intermediate language (IL), also known 50 years ago as p-code (show me one thing Microsoft has actually invented that is original) that allows a pretty seemless integration of different .NET languages (VB, F#, IronPython, C#, etc), and, at runtime, can then actually emit assembly code that is tuned to the processor and system on which it's running (which can cause no end of trouble when working with Oracle's data provider.) But they also ended up with a language they truly owned (please, let's not delude ourselves that C# is anything other than what Microsoft wants it to be) which gives them tremendous long term leverage in a variety of markets. You can now write C# code instead of PL/SQL in SQL Server, if you look at the metadata that DevExpress's XtraReports generates, it's actually C# code, and so forth. The .NET framework is very flexible, even for its drawbacks (which I don't encounter too often), and provides a real solid foundation on which to build even higher level frameworks, which unfortunately Microsoft is mired in at the moment (WCF, WPF, multitasking, etc) without what I think is a comprehensive, in depth understanding of the problem domain. But that's me. :) And management falls into the trap that .NET is a better environment because, since it does memory management, programmers will make less bugs, since C# is like Java they don't have to do a lot of "retooling of their resources" (as in, spend money training people with new skills), and since .NET supports VB, they hire programmers on the cheap here and in India, and worse, they can even do some of the programming themselves. The road to hell is paved with good intentions. In Microsoft's case, they pave the road to hell. But actually, C#, F#, and .NET are really cool. I d
Yes, thank you. I was thinking about half of this but didn't know how to phrase it. What I was thinking was .Net looked like a souped-up VM with a really extensive bundled framework yet some people attack Java because of its VM and praise .Net which is really just Microsoft's answer to the same problem. I was unaware IL was compiled to ML before execution. I had heard "JIT compiler" before but the compiler part didn't quite click. The reason I was asking is I find myself in need of a program that can run on Win and OS X and share data files between them (my comp is a boot camped 2007 iMac running OS X 10.6 and Vista HP) and was trying to decide whether to use C# or C++ for the Win version. Mac is Obj-C cause XCode is free and came on the OS DVD. I got VS 2008 Standard on the discounted "fire sale" pricing just before 2010's release after originally trying to code the app in REALBasic and spending more of my time working around their bugs and semi-implemented features (for example the Speech command works in Mac and Win but not Linux; REALSQLDatabase has bugs in the OS X implementation but the same code works correctly in Win and Linux.)