So this post was inspired by a slashdot article. Though I wasn’t able to view Microsoft’s site on Singularity because it was already slashdotted.
Any way so that idea appears to be making an OS where the only code you can run is managed code which is Microsoft speak for interpreted code as opposed to native byte code. The only thing I think this gives you is buffer overflow prevention. The garbage collection is a bit of a an unachievable goal because you can still write in memory leaks in code with garbage collectors just by writing bade code that keeps a pointer to the object longer than you need to. And you can still write a program that asks to allocate all memory like while(true) { $a[$i++] = "some string"; }
And I’m sure there are still interpreted viruses… I think they are called Visual Basic macros, or Office Add-ins.
Overall though I like interpreted languages more than native binary compiled languages, despite the occasional speed/memory issue. So I’m all for it.