Bytecode

aus WB Wiki; freien Wissensdatenbank rund ums Thema Computer
Version vom 28. Juli 2009, 15:33 Uhr von Arilou (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Bytecode ist eine Zwischenstufe zwischen menschenlesbarem Sourcecode, der ja noch nicht vom Computer ausgeführt werden kann, und echtem Maschinencode, der direkte Arbeitsschritte eines Programms für den Prozessor darstellt.

Bytecode ist "Maschinencode für eine virtuelle Maschine", d.h. es wurde bereits 1* vom Sourcecode zum Bytecode kompiliert, dieser ist aber nicht spezifisch für den aktuellen Prozessor (und das aktuelle Betriebssystem), sondern für ein bestimmtes Framework mit dessen virtueller Maschine.

Historie und Verwendung

Die Idee des Bytecodes ist beteits ziemlich alt; schon frühe Basic-Dialekte speicherten ihre Programme in Bytecode. Aufgrund der Notwendigkeit, den Bytecode zu interpretieren (Interpreter) oder endgültig für den aktuellen Prozessor/Betriebssystem zu kompilieren, wurde die Idee lange Zeit nicht weiterverfolgt. Interpretieren ist langsam über den gesamten Programmablauf, Kompilieren benötigt viel Zeit beim Programmstart.

Erst die Idee der leichten Portierbarkeit, die Sun bei der Entwicklung von Java verfolgt, sowie Suns Bemühungen, auch tatsächlich für viele verschiedene Plattformen virtuelle Maschinen zu entwickeln und bereitzustellen, machte mit Java den Bytecode wieder populär. Mittlerweile hat auch Microsoft nachgezogen, .NET basiert auf dem "Common Language" genannten Bytecode - allerdings gibt es das .NET-Framework auf sehr viel weniger Plattformen...

Das Problemfeld "Interpreter oder Compiler" ist inzwischen etwas entschärft; es kommen überwiegend Just-in-time Compiler zum Einsatz, die einen Mittelweg darstellen.