As a fan of computer science and also a fan of Computer Programming Languages and Compiler Design, I’ve been always asking myself this very question.
There is a fact that Native Code, runs faster on their own platforms but developing software using compilers that create Native Code is hard these days. Also designing compilers that generate Native Code costs so much money and effort.
On the other hand, developing software on platforms like Java or .NET Framework ensures the development team that their code would be so much more portable than Native Code. (Well actually this is the main purpose of designing Virtual Machines.)
But in order to gain the good things that Virtual Machines and Managed Codes provide, we have to lose the power that Native Code gives us.
Now the question is, How much power do we really lose?
Microsoft Singularity Operating System
There has been a project being built in Microsoft Research Labs since 2003, called Singularity OS. The most exciting thing about this project is that kernel, device drivers, and applications are all written in managed code. Shocking! Huh? ;-)
(In order to develop this project Microsoft has designed 2 languages based on C#, called Sing# and Spec#)
Apparently, this project is going to be commercial by the time Microsoft is done building the new generation of it’s Operating Systems currently called Midori.
Other Language-based Systems
There are similar projects going on in Java World too. Like the JNode Project and JX Project and by Sun Microsystems, JavaOS.
User Community Activities
User Communities play a big role in mutation of Software Industry.
In this field, the SharpOS Project plays a big role.
As wikipedia says:
SharpOS is an open source .NET-C# based operating system currently under development by a group of volunteers and presided over by a team of six project administrators (Mircea-Cristian Racasan, Bruce Markham, Johann MacDonagh, Sander van Rossen, Jae Hyun and William Lahti). This operating system is only one of two C# based operating systems released under an open source license. SharpOS is still under major development with only one public version available and a basic command line interface.
Conclusion
I think it is pretty exciting for lazy people like me that Low-Level Geeks are making this much effort to make us not feel bad about ourselves! ;-)
On the other hand, I never thought that a team would even consider writing an Operating System with high level languages. But with all the progress that has been made with CPUs and other hardware, it’s reasonable to think about these kind of projects.