Why is .NET so popular? (Serious Question)
-
Hardware Binary Editor :thumbsup: (aka toggle switches)
Steve _________________ I C(++) therefore I am
BTDTGTTS! On an Elliott 903...
-
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?
The question is wrong. It should be "Why is the old stuff so unpopular". If you have ever hunted down memory bugs in C++ or done COM+ or uh(!) oh(!) try to do useful things with hosted IEControls....or the ATL/MFC mess ......shudddering when I think back.... Try parse a XML document in native code (what ever level of "native" you mean with that) In .Net you code a lot faster. => Mo Money, Bro !!!
-
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?
- There is lots of resources available on the net. 2) Windows is the most popular OS. .NET hooks in perfectly with Windows. 3) Its well structured and has a great IDE. 4) Its easy to use. 5) Syntax wise it supports 80% of the languages out there, making it even easier to use. 6) It gives the user a choise of language and you pay only one price. 7) Its free, ;-)... the express version that is. 8) Its cutting edge. 9) Its Microsoft, ;P 10) Can go on for the whole day!
"Program testing can be used to show the presence of bugs, but never to show their absence." << please vote!! >>
-
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?
.net = productivity. Productivity = results. Period. For hundreds of millions of Windows machines, vb.net and c# are simply more productive than anything else so far. Script kiddies and native code usually means there are no deadlines and someone else is paying the bills. .net puts a roof over your head and food on the table. Seriously.
Dwayne J. Baldwin
-
I love writing assembly, just can't find an excuse too. I really do believe assembly should be learned by all CS students very early on. It sheds a whole lot of light on what's really going on with the computer and makes you very jaded about claims of new technology (since you know that it's all just assembly in the end.)
To be precise: Let them solder together a little 8 bit machine first and then program it with the dip switches or hex keyboard. After that they know enough to try out a fancy compiler.
A while ago he asked me what he should have printed on my business cards. I said 'Wizard'. I read books which nobody else understand. Then I do something which nobody understands. After that the computer does something which nobody understands. When asked, I say things about the results which nobody understand. But everybody expects miracles from me on a regular basis. Looks to me like the classical definition of a wizard.
-
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.”
-
I still have mine in a spare bedroom closet :thumbsup:
Steve _________________ I C(++) therefore I am
I ditched mine when I moved to a different appartment and found the rubberbands I had used to hold them programs together had either disintegrated or somehow molded right into the top and bottom cards, making them problematic to handle by the punch card reader. Also one of the rubber bands chose to disintegrate right when I picked up a program, and I didn't feel like sortig the jumbled heap of punch cards into their correct order again. Oh well, off they went to the bin...
-
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?
-
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?
-
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?
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.
-
Because ASP.NET is so much better than any alternative. Due to having .NET developers and the mistaken belief that .NET is good for anything, it gets used for everything. For internal one off tools, .NET can be very useful, though I have enough experience with C++ and MFC that that usefulness is marginal (and I have a few tools which I was able to write much faster in C++; I know because to entertain myself, I wrote them in both.) Almost all my production code that ships to customers is in C++. It comes down to experience. I'm continually surprised at the number of veteran developers who really don't know the Windows API all that well. I've also run across too many developers who aren't very good programmers and jump to any new technology claiming it's better in an attempt, I believe, to mask their overall incompetence. With .NET, for example, the could give a good presentation and sound like they knew what they were talking about, but actually wrote worse C# code than C++ mostly because they got so damn lazy.
Because ASP.NET is so much better than any alternative. That kind of ignores 80% of .NET functionality. I believe the alternatives to .NET require a higher degree of capability. Witness the support of C++ by people here. (Yes, C++ can be used in .NET too, but I think they are referring to the non-net version.) Also witness the huge problems C++ has with memory leaks.
-
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?
-
The question is wrong. It should be "Why is the old stuff so unpopular". If you have ever hunted down memory bugs in C++ or done COM+ or uh(!) oh(!) try to do useful things with hosted IEControls....or the ATL/MFC mess ......shudddering when I think back.... Try parse a XML document in native code (what ever level of "native" you mean with that) In .Net you code a lot faster. => Mo Money, Bro !!!
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.
-
Pete O'Hanlon wrote:
Yes you can create these items in your own framework, but the key things are that somebody else has already done this for you and this cuts things out of the development that you don't have to do for yourself. Couple this with the fact that you get the benefit of thousands of others testing the framework for you, then this serves to inspire a lot of confidence in the corporate suits.
I meant Microsoft could have just as easily provided all of it as native code, as could anyone else in theory. Why do people tolerate a VM rather than just demanding Microsoft provide it as native code? It is just for the Garbage Collection or what?
The underpinnings of .NET are the CLR and CLS. These are key features that mean you can use a wider variety of languages than you currently can with the same framework. That's why the VM is so important - it's the environment that makes this all possible.
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
-
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?
I'm going to go with: It requires less anal attention to detail combined with the general incompetence of a human being. I see the same weird behaviour in .NET that I've seen in 30 years of coding using non OO compilers. This started when I was at WASU, taking a COBOL class. My printout was messed up in the middle with some weird characters. I spent hours going over my code trying to find my logic problem. I took it to my prof, he suggested I run it again. Since it took one day to turn in the punch cards and wait for someone to feed in the cards and then get a printout, I didn't like that option, but used it. Perfect printout. I currently don't have VS for C#, so I'm compiling C# using line commands. I don't know how to get into the debugger through csc, so I was debugging the old fashioned way: putting write statements in the code to try and trace the problem. Of course, adding the write statements removed the problem. I prepared to see the problem reappear when I removed the write statements, but it didn't. I have a long history of putting write statements in and finding the problem, not finding it and when the statements are removed either the problem reappears or doesn't. When it doesn't fix the problem and I still don't see the problem with my code, I've added a new variable, set it to a value and the problem disappears. Of course, in earlier code you could overindex an array and rewrite the machine code so you have no clue what caused the code to try executing nonsense. It's possible the variable I added, protected the machine code and fixed it that way.
-
I only did any assembly at Uni, but really enjoyed doing it. No-one else in the class (it was a crap course at a crap university) could get to grips with it at all, to the extent that the lecturer gave everyone his solution. He marked mine wrong simply because it was different to his, then I pointed out that not only did my solution work, it was more efficient than his was.
Every man can tell how many goats or sheep he possesses, but not how many friends.
Yeah, them lazy lecturers... I remember I didn't get any points on one particular solution I wrote because I was feeling too lazy to calculate the exact amount of memory needed for a buffer and just used a sufficiently big number instead. The rest of the solution was just fine and quite probably better than the suggested solution, but it was different and the lecturer was too lazy to check past the arbitrarily sized buffer whether the rest was any good :omg: You might argue that you shouldn't waste resouces and therefore the lecturer was right to not accept a solution that wasted memory needlessly, but in truth I was quite aware of the resources at hand and considered the time resource I had available to finish the test to have a higher priority than the memory for some fictional program that no one would ever run. ;) On a side note, Assembler was my second computer language after Pascal. I believe that was a pretty good way to get introduced to computer languages. Unlike some fellow students who had delved into C=64 BASIC before I learned structured programming and good programming practices from the start, no chance for any bad habits to creep into my style. Later I also got into touch with BASIC, but decided right away that I wouldn't touch it with a long stick. I understand that today's variants of BASIC are much better structured, but I still don't feel any urge to try it out...
-
you really think .NET is good for web??? do you mean the c# language or the .NET runtime? if you mean c# then sure it's a nice language and works well for many tasks including web if you mean, however, .NET is good for web then i would respectfully say you are talking from the wrong end of your body ... .NET is the antithesis of what the web is about and consequently sucks at it ... the web is not the desktop and should not be treated as such ... just because someone can write a desktop app does not mean they can write a web app ... completely different problem domain with different rules and constraints that need to be understood properly to write a good web app (website / service / etc) would you think it a great idea to use say php to write desktop apps? that a good javascript programmer would necessarily be a good c++ programmer for desktop environments? no the inverse is true as well /end_rant
"mostly watching the human race is like watching dogs watch tv ... they see the pictures move but the meaning escapes them"
-
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?
It is not as popular as one would think. The most popular web tech is PHP. .NET is probabaly the second or the third. I think its popularity is due to Microsoft technology in whole rather than .NET. Anyone doing software development using Microsoft previous technology (C++, Visual Basic, ASP, etc.) automatically switches to .NET.
TOMZ_KV
-
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?
-
l a u r e n wrote:
.NET is the antithesis of what the web is about
Pulling ideology into a technical argument is, at the least, unprofessional. It is unfortunate we see it happen so often nowadays..
i consider my reasons for saying such to be based on solid technical grounds you, however, add nothing to the discussion other than a personal attack based upon your undisclosed technical knowledge and unknown political agenda so i think /ignore is a good way to respond to you thanks for playing tho
"mostly watching the human race is like watching dogs watch tv ... they see the pictures move but the meaning escapes them"