assembly - c++ - c# és Java ???
jelenleg egy open souce virtuális gép fejlesztésében veszek részt, a fenti 3 szintről a következő a véleményem
assembly: a szóban forgó VM tud JIT-telni, ami azt jelenti, hogy gépi kódot kell generálni, tehát ismerni kell az architektúrát. itt erre van szükség
c++: a VM c++-ban van írva. teljesítmény kell, mese nincs. ha C# vagy Java lenne, akkor a programkódot egy olyan VM értelmezné, ami maga is VM felett fut. ezt hívják dupla interpretációnak. nyilvánvaló, hogy ez teljesítményveszteség. ide nem jó a C# és Java, natív kód kell
C# és Java: marika néni a postán vagy katika a bankban ügyviteli programot használ. grafikus alkalmazás, kattintgat, pötyög egy keveset, kommunikál a központi szerverrel. itt a C# és Java teljesítménybeli hátránya nem érdekes, de a biztonság, gyors fejlesztés, hibamentesség (nem kell manuálisan memóriát foglalni/felszabadítani) nagyon fontos.
végül: Quake II .NET http://www.vertigosoftware.com/Quake2.htm
anno volt egy videó is róla, sajnos nem találom. P4-en vagy Centrino-on asszem teljesítménye az eredeti játékéval pariban volt.