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



This argument is ridiculous.

I would use .NET for this purpose.

Any application that must guarantee a response 100% of the time within 1
second MUST HAVE a finite set of states and each of these states MUST BE
resolvable within 1 second 100% of the time.

You design such an application as a FINITE STATE MACHINE, within this you
PREALLOCATE all memory you need (keep it in scope), in ANY LANGUAGE
ENVIRONMENT, including .NET. The GC will not run since you will never reach a
point where you run out of your allocation of heap GC Level 0 memory. The
approach should be identical in both JAVA and C++!

If you are doing ANYTHING with your problem state that requires a
non-deterministic operation (something you cannot guarantee how long it will
take, e.g.: disk IO, writting to SQL Server ETC) then this operation must be
QUEUEABLE in a guaranteed deterministic fashion, which excludes the use of
something like MSMQ. You build your own queue, normally with something like
shared memory and semaphores, then another thread services the queue in an
asynchronous fashion. In this case the shared memory is used to allow for
both threads to run in seperate .NET application domains. Each domain has its
own GC and do not interfere with one anothers threads. You design your
semaphores so that reads (the servicing thread) respect locks but never lock
the writes (the finite state thread will never be locked).


Your solution WILL ALLWAYS be subject to the performance of the thread
servicing the queue and its ability to keep up, but since any DISK IO or SQL
request can take longer than expected but on average is faster than required,
you are safe.

If your response time requirements are 1 second, I would gladly use .NET. I
would design a similar solution for C++, assembler, Java, Delphi, VB 6 etc.

One developer cannot be applied to all solutions equally. How much
experience do you have with RT systems in any case? I suggest you consult
with an architect that has RT experience including building RT solutions on
non-RT platforms.

Sincerely,
--
Carlos De Matos
Lead Technical Architect
TiBA Solutions


"consumer62000@xxxxxxxxx" wrote:

> 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?
>
>
.



Relevant Pages

  • Re Cant Create Auto Redraw
    ... One response talked about GDI objects and what happens ... As I said my app is a kisok/cafetaria ... memory to create the memory bitmap for the Autoredraw image. ...
    (microsoft.public.vb.general.discussion)
  • Re: Error 2 when attempting to print
    ... Thank you for your quick response. ... I did in fact correct ... I've been running with Virtual Memory ... >installed (you can find the amount of physical memory by ...
    (microsoft.public.mac.office.word)
  • Re: Behavioral Genetics: A pseudo science or real scientific discipline
    ... > associated with memory. ... Because the experimental animals performed ... > fundamental conceptual muddle of mainstream psychology. ... > to believe that STM is a loose collection of response classes that are ...
    (sci.bio.evolution)
  • Re: (OT)Kissing Robot (from Japan, natch)
    ... guarantee that she won't destroy the universe? ... do I have any guarantee that she ... Will her memory will be wiped if she fails her trial deployment? ...
    (rec.arts.anime.misc)
  • RE: Returning data contained in Ienumerable as type[]?
    ... Thanx for the response. ... I call this method from within a web service. ... CustomerStruct and one datarow in memory at a given time, ... I suspect that this is because it expects a compressed SOAP message. ...
    (microsoft.public.dotnet.framework.webservices)