.NET SUCKS --- READ FOLLOWING. MICROSOFT IS A SUCKY CO

  • Thread starter Thread starter consumer62000
  • Start date Start date
C

consumer62000

Let me tell you a scenario and you will see what I mean.
There is a large application that has communication with a real time
system . The app has to respond to the requests in no more than 1 s.
The app is a C# .NET app and everything is fine and everyone at
Microsoft is happy that they forced their "new" platform down someone's
throat.

Now imagine a scenario where the GC has to collect the memory. Well,
when GC runs all the threads are suspended and there is no response to
the incoming requests and application fails a critical requirement.

Well,any MS people here who can defend their sucky product,
I know they will say "don't use .NET for this or that...use C or C++
etc"
My q to them is why did you create .NET then?
 
Microsoft is happy that they forced their "new" platform
down someone's throat.
Wrong. In the "C" world you still have choice. C++ works just fine. No one
forces you to use .NET.
My q to them is why did you create .NET then?
Simple... because not all applications require real-time behavior. In fact,
I would argue that most applications do not require real-time behavior. So,
yes, .NET *may* not be the best way to go in these scenarios. You answered
your own "q". Any architect, or developer for that matter, should do their
homework before deciding how an application should be written. Use the
proper tools for the proper tasks. Microsoft gives developers options and
it's your job to decide when and how to use them.
 
Let me tell you a scenario and you will see what I mean.
There is a large application that has communication with a real time
system . The app has to respond to the requests in no more than 1 s.
The app is a C# .NET app and everything is fine and everyone at
Microsoft is happy that they forced their "new" platform down someone's
throat.

Now imagine a scenario where the GC has to collect the memory. Well,
when GC runs all the threads are suspended and there is no response to
the incoming requests and application fails a critical requirement.

Well,any MS people here who can defend their sucky product,
I know they will say "don't use .NET for this or that...use C or C++
etc"
My q to them is why did you create .NET then?

Who would use an interpreted language for real time processing? Doesn't
sound like someone knew what they were doing when they chose a language
to meet their requirements.

You shouldn't use .NET for this type of thing... you C or C++ or some
other language that you control every aspect of the language.
 
So responding to a request in fixed amount of time is realtime. And may
I ask what kind of apps would your friends at Microsoft "recommend" for
..NET

Slow application with no user expectations?
 
So how often have you noticed the GC taking approching 1 second? I've never seen it and I've been able to allocate 40,000,000 objects per second that will cause alot of GCs.

If you are talking about a system that mjust *never* take longer than a second then you shouldn't be using Windows or most versions of Unix - you need a realtime operating system that guarantees that it won't spend a whole bunch of time housekeeping.

You must be writing a branch of software that is very unlike many many busniess apps that need to retieve data and perform complex processing on it but don;t require realtime like guarantees of reponse times.

Regards

Richard Blewett - DevelopMentor
http://www.dotnetconsult.co.uk/weblog
http://www.dotnetconsult.co.uk

Let me tell you a scenario and you will see what I mean.
There is a large application that has communication with a real time
system . The app has to respond to the requests in no more than 1 s.
The app is a C# .NET app and everything is fine and everyone at
Microsoft is happy that they forced their "new" platform down someone's
throat.

Now imagine a scenario where the GC has to collect the memory. Well,
when GC runs all the threads are suspended and there is no response to
the incoming requests and application fails a critical requirement.

Well,any MS people here who can defend their sucky product,
I know they will say "don't use .NET for this or that...use C or C++
etc"
My q to them is why did you create .NET then?


[microsoft.public.dotnet.framework]
 
I would say if your program has a 1 second latency it's probably due to poor
design (of the application itself) or extremely busy CPU already, than to
the GC.
I would recomend you start really investigate the cause of the problem
instead of randomly targetting the GC.

For example providing a code sample demonstrating your problem would be a
first step toward valuable & hinsightful feedback.

In case it's the GC, I will be .. amazed.
But well, in this case let's imagine the kind of scenario where the CG could
do that.
As some other poster said, he was able to alloc / GC more than 40.000.000
(40 millions) Object per second without trouble.

So I doubt it's the sheer number of object which cause the GC trouble.
Maybe it's the Dispose() method?
Dispose() should be quick, do you have lengthy operation (such as
Transaction.Commit()) in the Dispose() code of your objects?

Also to answer an other question: what kind of application needs .NET to be
developped.
Well I would say I have yet to see a case where .NET didn't improve
dramatically devlopment time and program reliability while, at the same
time, keeping comparable performance.
So it's probably a good solution for any developer on earth but you ;-)
 
So responding to a request in fixed amount of time is realtime. And may
I ask what kind of apps would your friends at Microsoft "recommend" for
.NET

Slow application with no user expectations?

Solid application design requires a logical, systems oriented approach to
development. Perhaps if you weren't so loaded with emotion and anti
Microsoft sentiment you could determine the actual reasons for your
application not meeting its requirement definitions rather than spouting off
like a trantrum throwing child.

It might well be that the .NET framework is not for your project but more
often than not these crys of it being a buggy, unreliable, non performant
platform are in fact more indicative of piss poor application design and/or
development lacking in a "best practises" approach.

Perhaps if you learn to approach your projects, and your posts for that
matter, with a little more balance, maturity and professionalism you may not
find yourself having either choosen the wrong tool for the job nor blaming
it when you cant use it correctly.

Ian
 
Well,I can understand that you can't write RT apps in .NET But you
Microsoft followers simply do what MSDN magazine talks about now.
I have been doing Windows development for last 15 years.I don't hate MS
but don't like the way they push .NET and shit like that in the name of
productivity.
The reason I have to use .NET is because none of my teammates would
even wanna talk "C" or C++.

Let me tell you all that I have been to MS interview and was quite
surprised at the kind of developers they have.
I was offered a job but I didn't take it and I told them why - because
the people I interviewed there did not come across very smart people.
So don't tell me that I don't know how to design a solution.
They tried to pursue me for a week. Hiring manager sent me e-mail
asking me to fly one more time and have a face to face talk.
Maybe they have smart people like dave cutler in Windows team but no so
great in other teams.

I know I shouldn't use .NET in a app like ours but who would tell my
peers who simple want to move where Microsoft leads them.

You people have blindly supported MS all your lives and can't thing
anything beyond MS.
 
Let me tell you a scenario and you will see what I mean.
There is a large application that has communication with a real time
system . The app has to respond to the requests in no more than 1 s.

Stop right there. Is this a realistic scenario in the first place for a
real-time applicaiton? I'd really *like* to get 40 miles per gallon from my
SUV, but that doesn't mean that SUV's suck because they don't perform to
that unrealistic expectation.
The app is a C# .NET app and everything is fine and everyone at
Microsoft is happy that they forced their "new" platform down someone's
throat.

Did you file a polie report about this? Because, I would think that someone
from MS coming to your house or office and forcing something down your
throat would be sufficient grounds for legal action. Strike two! It's easy
to make bold statements/proclamations when they are based on non-truths and
unrealistic expectations in the first place, isn't it?
Now imagine a scenario where the GC has to collect the memory. Well,
when GC runs all the threads are suspended and there is no response to
the incoming requests and application fails a critical requirement.

Does it? What tests have you run on this? What were your results? If this
is such a mission-critical application and the GC running causes everything
to stop for more than a second, I would say you need to go back to the
hardware drawing board and come up with a more realistic application design
for the low-end hardware architecture of your system.
Well,any MS people here who can defend their sucky product,
I know they will say "don't use .NET for this or that...use C or C++
etc"
My q to them is why did you create .NET then?

To give you (the folks who would never like anything that MS makes)
something new to bitch about?
 
Chris said:
Who would use an interpreted language for real time processing? Doesn't
sound like someone knew what they were doing when they chose a language
to meet their requirements.

Um, .NET isn't interpreted... I'd agree that it's not suitable for
real-time work, but it still runs as native code (after JITting).
 
I have a real-time automation server written on .NET. Responding time is
about 300ms. Works fine.
 
So responding to a request in fixed amount of time is realtime.

Yes, that's part of the definition of a real time application.
And may
I ask what kind of apps would your friends at Microsoft "recommend" for
.NET

If you want to develop a true real time application, they would recommend
nor .NET neither Windows. Windows is not a real time OS because, among
other things, it uses pre-emptive multi tasking, hence preventing you to
know how long will a task in your program take. To do real time
application, you must use a real time OS to begin with. Real time
applications are a whole different world than desktop or server consumer
applications.
 
I agree, real-time with 1 second response is no problem for .net -- it is a
poorly designed application or component causing the problem. The GC will
never take this long unless it is abused.

Regards,
Frank Hileman

check out VG.net: http://www.vgdotnet.com
Animated vector graphics system
Integrated Visual Studio .NET graphics editor
 
I know c++ rulz! :P
But dont blame dotnet for your poorly designed OR poorly coded (by your
peers) app.
 
If I read this correct, the logic is this:

1. Real time systems must poll every 1 second
2. .NET suspends threads during garbage collection
3. Garbage Collection must happen when memory gets low
4. Garbage collection will take more than one second
5. Therefore, .NET sucks

If I have your basic proof correct, it is quite easy to hack it to shreads.

Hey, your frustrated. You may have also found a scenario where you need a
screwdriver instead of a hammer. It does not mean the hammer sucks.
--
Gregory A. Beamer
MVP; MCP: +I, SE, SD, DBA

***************************
Think Outside the Box!
***************************
 
At first, I was under the assumption you really wanted to get an answer. Now,
I am more inclined to think you are a troll. If you are not, at least step
off the high horse and start responding in a civil manner.
--
Gregory A. Beamer
MVP; MCP: +I, SE, SD, DBA

***************************
Think Outside the Box!
***************************
 
Back
Top