Linked by Thom Holwerda on Fri 22nd Feb 2008 09:16 UTC, submitted by obsethryl
.NET (dotGNU too) "Previously, we have presented one of the two opensource licensed projects related to creating a C# kernel. Now it's the time to complete the set by rightfully presenting SharpOS, an effort to build a GPL version 3 + runtime exception licensed system, around a C# kernel of their own design. It is my pleasure and priviledge to host a set of questions and answers from four active developers of SharpOS, that is William Lahti, Bruce Markham, Mircea - Cristian Racasan and Sander van Rossen in order to get some insight into what they are doing with SharpOS, their goals, their different design and inspiration."
Permalink for comment 302030
To read all comments associated with this story, please click here.
RE[4]: So what ?
by tuttle on Fri 22nd Feb 2008 21:23 UTC in reply to "RE[3]: So what ?"
tuttle
Member since:
2006-03-01

ignoring the hardware to make developer's lives easier like using the stack exclusively in preference to fast registers (if you ignore the hardware, the hardware will ignore you).


I agree that the state of the art of managed runtime environments leaves a lot to be desired. But it is not quite as bad as you describe:

All current runtime environments (CLR, JVM) use registers whenever possible. That includes using registers for passing function parameters and return values.

The new JVM will even stack allocate thread-local objects like local variables to reduce the stress on the garbage collector.

And in .NET it is possible to write complex programs that do not use the heap at all by using structs.

Resource leaks can be dealt with by using the 'Resource Acquisition is Initialization' pattern. It is not as elegant as in C++, but definitely possible. I use this all the time.

Reply Parent Score: 1