Common Language Runtime von Microsoft

Hallo bin zur Zeit an .Net und habe mir dazu als erstes mal das Prinzip der Common Language Runtime angeguckt.

Erinnert mich prinzipiell sehr an die Ausführung von Java: Zuerst wird aus einer Hochsprache (hier verschiedenen Hochsprache möglich) eine Art Bytecode erstellt (common intermedetia language) und dieser dann bei der Ausführung interpretiert.

Jetzt habe ich dazu die Fragen:

Das macht ja gerade den Vorteil von Java, die Systemunabhängigkeit aus, wobei Geschwindigkeitsverluste in Kauf genommen werden müssen, wieso macht Microsoft das, wenn das prinzipiell eh nur auf Microsoft BS laufen soll (oder sind die Unterschiede zwischen den MS BS schon so gewaltig oder geht der entstandene Code sogar tiefer als BS-Ebene)?

Wie heißt das entsprechende Tool, das die Interpretierung vornimmt, vgl. mit der JRE von Java?
 
Das macht ja gerade den Vorteil von Java, die Systemunabhängigkeit aus, wobei Geschwindigkeitsverluste in Kauf genommen werden müssen,
Der Geschwindigkeitsverlust spielt bei den meisten Anwendungen heutzutage keine Rolle mehr und durch Techniken wie JIT bzw. HotSpot (Java) ist der Unterschied gar nicht mal groß.

wieso macht Microsoft das, wenn das prinzipiell eh nur auf Microsoft BS laufen soll?
Ist doch praktisch eine einheitliche Grundlage zu haben. Damit ist es egal, in welcher Sprache du deine Programme schreibst. Ob nun C#, VB oder eine andere .net Sprache. Und du kanst dir sicher sein, das sie überall laufen wo es auch das .net Framework gibt. Zum Beispiel auch auf Windows Mobile.

Für Unix Systeme gibt es zB. Mono was erstaunlich gut funktioniert. Leider hinkt es .net von Microsoft was die implementierung angeht hinterher.

Wie heißt das entsprechende Tool, das die Interpretierung vornimmt, vgl. mit der JRE von Java?
Die Common Language Runtime (CLR) interpretiert den Zwischencode.
 
Zurück
Oben