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

  • Thread starter Thread starter consumer62000
  • Start date Start date
quite honnestly if the garbage collection was really taking 1 seconds it
will really suck !
anyway, it's not the case as we well know ;-)
 
Well, C++ rulz maybe correct, but it is still harder to work with when
compared with C# etc. Also fully managed code is safer in general. The point
of my previous post was, you can still use dotnet and avoid C++ by just a
little bit of clever thinking out of the box. Of course not everything is
do-able through purely managed code, but 99.999% is acheivable.
 
Cowboy (Gregory A. Beamer) - MVP said:
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

6. Therefore according to the OP everyone who uses it (how many 1000's of
professional developers is that?) is an idiot an dont have any idea how to
evaluate a development platform.

This trolls been well and truely fed but it doesn't change the fact that
he's a complete meathead. More so in my opinion for the implied insult to
everyone in this newsgroup and beyond than the fact he cant real time the
GC.
 
Right on the mark. There are very, very few application domains that
absolutely require hard real-time processing. For these applications, a
RTOS is required anyway.

Mike Ober.

Sahil Malik said:
Well, C++ rulz maybe correct, but it is still harder to work with when
compared with C# etc. Also fully managed code is safer in general. The point
of my previous post was, you can still use dotnet and avoid C++ by just a
little bit of clever thinking out of the box. Of course not everything is
do-able through purely managed code, but 99.999% is acheivable.


--

- Sahil Malik [MVP]
ADO.NET 2.0 book -
http://codebetter.com/blogs/sahil.malik/archive/2005/05/13/63199.aspx
-------------------------------------------------------------------------- --
 
Also for real time, as a general rule, you always preallocate all data and
reuse them, the need for garbage collection should never arise! and you
should be able to rock & roll ;-)

--
If you're in a war, instead of throwing a hand grenade at the enemy, throw
one of those small pumpkins. Maybe it'll make everyone think how stupid war
is, and while they are thinking, you can throw a real grenade at them.
Jack Handey.
Michael D. Ober said:
Right on the mark. There are very, very few application domains that
absolutely require hard real-time processing. For these applications, a
RTOS is required anyway.

Mike Ober.
 
Having interviewed with Microsoft myself, I seriously doubt the
authenticity of your claims here. First off, Microsoft doesn't hire
idiots. They hire professionals who know the technology and who can
analyze a problem and think about it rationally. They do not hire
people who fly off the handle, or act like fools during the interview.

I won't even bother detailing how lacking your communication skills
are.

The .NET Framework and Windows, as others have pointed out, are not
suitable for real-time applications. Microsoft's own documentation
states it quite clearly. You can't guarantee that any Windows
application (let alone a .NET application) will respond in a specified
time frame because another application may simply hog the processor.
You may write exceptional code; that doesn't guarantee that others do
as well. I can write a VB .NET application consisting of 5 lines of
code that should pretty well block the entire machine.

The garbage collector is one of the most efficient and well-thought out
systems in the .NET Framework. How did you decide that the GC is the
cause of your problems? Did you write any code to verify that your
system was being blocked by the garbage collector? Are you *certain*
that that is the cause of your problem? If it is, what's happening in
the cleanup code for your own objects, if anything?

If I've learned anything about software development, it's that nothing
is EVER as simple as it seems. And your first conclusion is usually the
WRONG one.
 
Cowboy pontificated:
You may have also found a scenario where you need a
screwdriver instead of a hammer. It does not mean the hammer sucks.

That answer was FAR better than any I've read. Short, sweet, to the
point.
 
You may have also found a scenario where you need a
screwdriver instead of a hammer. It does not mean the hammer sucks.

that's a great line right there. wonder if i could use it?

--
Regards,
Alvin Bruney [MVP ASP.NET]

[Shameless Author plug]
The Microsoft Office Web Components Black Book with .NET
Now Available @ www.lulu.com/owc
Forth-coming VSTO.NET - Wrox/Wiley 2006
 
Tyrant Mikey said:
Having interviewed with Microsoft myself, I seriously doubt the
authenticity of your claims here.

If you read his claims backwards i think he speaks the truth. First of all
he says Microsoft "did not come across [as] very smart people" and then he
says "They tried to pursue me". Sounds about right to me.

:=)
 
First of all, who told you .NET is a real-time systems development platform?

Second, your may try to use your own memory management algorithm (GC in .NET
does not meddle with very big allocated memory managament) and unsafe
pointers. I think it's not a big issue for a really smart guy.

Third, you need to know more about real-time system before talking in terms
of "sucks".
Real time systems need not only "cool programming languages", but also
real-time infrastructure: some kind of a RT-OS (there are RT extensions for
Windows 2000 from third parties), some RT communication protocols, and even
RT memory management. Because usual heap management libraries in most C++
compilers are just a toys, and can not be used when some QoS need to be
assured.
 
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.

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.

BTW .NET languages are not interpreted. IL is like Java bytecode. When a
..NET app starts, the JIT compiler, translates the IL code into Win32 native
code and launch it.
 
..NET is an exciting technology with great promise. I don't understand why you
would post such a obtuse message in this newsgroup. You obviously have an
agenda, so stick to it without interfering and degrading the interest of the
people who like the product. Post your whining on some Java or Linux board.
 
Not only may .NET not be an appropriate development tool for your
application, the target OS may not be right for such real time service level
guarantees. Most pre-emptive OS's (Windows, Linux, AIX, HP-UX) do not
guarantee that an event will be delivered to an application within a given
time period. For that kind of service, you should look at Windows CE, RTLinux
or Qnx.

You condemn an entire technology stack that provides countless thousands of
valuable services with a blithe ".NET sucks" simply because you believe it
doesn't meet *your* specialized needs. This indicates that you may lack the
experience necessary to make such judgements, in which case you are not
qualified to make technology decisions for your client. I would urge you to
seek out a mentor to assist you with your efforts; your project may well be
at risk.

Further, I encourage you to adopt a less religious, more analytical attitude
toward making technology value judgements. There is an appropriate technology
for a given problem, and one size definitely does not fit all. Work to
develop the skills necessary to know what fits what; your customers and
ultimately your paycheck will thank you.

Regards and best of luck,

Kevin
 
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

I developed real time stock trading applicaiton in C#. My applicaiton trades
642,000 stocks symbols in real time, with reaction to market event less than
1 millisecond. My applcation receiving 200 giga bytes / hour of reali time
data and generates hundreds of thousands orders to trade a day. All in C#.
I do not have probelms with Garbage Collectior because I'm trying to use
memory wisely. My app spends less than 2% in GC.

Therefore, you imaginary "realtime applicaiton with respond in no more than
one second" is piece of cake for .NET.

Assuming you can really code, not yell at people.
 
I wrote a couple of months ago a pretty complete ray tracer in C# 2.0,
including support for complex solid textures, CSG, antialiasing, focal blur,
etc, etc. I needed a complex application to be used as example in a C#
training course. Ray tracers are famous for being resource-intensive
applications. What I found, however, was that the performance of my ray
tracer was more than acceptable Even then, in some circumstances my prototype
works faster than paradigmatic "native" ray tracers, since I was able to do
some silly optimizations to the algorithms: for instance, while the ray
tracer used as reference always computes all three roots of a cubic equation,
mine only computes the first root, and this extremely simple enhancement
proves enough to trace fourth order surfaces (tori, e.g.) faster in the
typical case.

And regarding GC: some complex scenes get traced in a second or less, and in
that second, .NET is able to perform three or four collections... in an
Athlon XP 2200++, which isn't what I'd call "state-of-the-art".

Sucky system... or sucky programming?

Ian
 
Very interesting post ^_^

Dmitry Sazonov said:
I developed real time stock trading applicaiton in C#. My applicaiton
trades
642,000 stocks symbols in real time, with reaction to market event less
than
1 millisecond. My applcation receiving 200 giga bytes / hour of reali time
data and generates hundreds of thousands orders to trade a day. All in C#.
I do not have probelms with Garbage Collectior because I'm trying to use
memory wisely. My app spends less than 2% in GC.

Therefore, you imaginary "realtime applicaiton with respond in no more
than
one second" is piece of cake for .NET.

Assuming you can really code, not yell at people.
 
Back
Top