Byron Hale <[EMAIL PROTECTED]> wrote,

> At 06:46 PM 8/10/2000 -0400, you wrote:
> >What bothers me most about C# is that although, at first glance, it seems 
> >to be a variation on Java, it doesn't follow the spirit of Java in at 
> >least one important respect.
> >
> >Specifically, one common advantage of both Haskell and Java is that they 
> >encourage higher-order abstraction:  Haskell through functional 
> >abstraction, and Java through eliminating explicit pointers and memory 
> >management and enforcing object orientation through the use of classes.
> >
> >However, according to the C# Language Reference (at 
> >http://msdn.microsoft.com/vstudio/nextgen/technology/csharpdownload.asp), 
> >"For developers who are generally content with automatic memory management 
> >but sometimes need fine-grained control or that extra iota of performance, 
> >C# provides the ability to write "unsafe" code. Such code can deal 
> >directly with pointer types, and fix objects to temporarily prevent the 
> >garbage collector from moving them." [Section 1.2]
> 
> Other issues aside, garbage collection is not the only form of automatic 
> memory management. Also, garbage collection is unlikely to satisfy any need 
> for automatic memory management in real-time systems for the foreseeable 
> future because an extra thread on a single processor is still 
> non-deterministic. 

I am far from being an expert on realtime systems, but AFAIK
the important thing is to be able to guarantee that a given
operation executes in a given bounded time frame.  In other
words, it need not be deterministic as long as the
indeterminism is within predictable bounds, ie, guaranteed
to be sufficiently small.  So by guaranteeing that the extra
thread can take only a fixed amount of time, it should be
possible to meet the realtime constraint, shouldn't it?

Manuel

Reply via email to