Diskussion:Bytecode

message: Hey leute, seid Ihr euch sicher, dass mit dem Begriff Bytecode immer Code für eine VM gemeint ist? Wie heißt dann die Mischform in ausführbaren Dateien, die Maschinencode und Code, der Betriebssystemfunktionen aufruft, enthält? --Supaari bla!bla! 20:30, 10. Sep 2004 (CEST)
replies: text: Die Angaben sind jetzt deutlich Präziser. Ein Gute Schritt, für eine Einleitung wird das ganze aber jetzt schon etwas lang.--tstrauss 22:33, 18. Okt 2004 (CEST)
thread_title:  Bytecode meint immer VM-Code? 

message: Wie es zu dem Begriff Beyte-Code kam, und wo er herkommt, wäre zu belegen. Die Vermutung, daß der Token-Interpreter einer VM mit einem Beyte vollständig Adressierbar ist, dürfte von der jeweiligen VM abhängen. Aber die üblichen VMs sind keine Tokeninterpreter und ihre Befehle, nicht nur beyte-groß. So daß der Begriff, Beyte-Code bestenfalls historisch begründet, aber nicht zutreffend ist.
Nach den abgegebenen Erklärungen im Artikel BeyteCode, wäre es besser von VM-Code, oder auch virtuelen Code zu sprechen.
Noch ein anderer Aspekt:
Einen Interpreter kann ich, abstrakt betrachtet, zu einen "Bedingten indirekten Sprung" vereinfachen. Wobei moderne Interpretersprachen erst durch mehrfach indirekte Verknüpfungen implementierbar sind. Es sind also vergleichsweise zum Mehrpass-Compiler, Mehrpass-Interpreter.
Wenn man nun einen Teil der indirekten Verknüpfungen, nicht erst zur Laufzeit auflöst, sondern schon vorher, findet definitionsgemäß eine Compilation statt. Der so entstandene Code, ist kein Quellcode mehr, aber auch noch kein Maschinencode. Er muß noch von einer, nun einfacheren und damit auch schnelleren virtuellen Maschine zur Laufzeit interpretiert werden. Ich denke, das ist es, was Ihr BeyteCode nennt. Und ich lieber VM-Code, oder auch virtuellen Maschienencode heiße.
py_thom@yahoo.de
(Der vorstehende Beitrag stammt von 213.39.215.163 – 10:48, 4. Jan. 2005 (CET)
thread_title:  Geschichtliches und Hintergründe 

message: Ist es auch möglich Bytecode in eine beliebige Assemblersprache zu übersetzen?
(Der vorstehende Beitrag stammt von 84.165.167.80 – 19:30, 27. Nov. 2005 (CET)
replies: text: Da eine VM Intern den Bytecode interpretiert und Ihn auf einer Maschine ausführt ist dieser Schritt unumgänglich. Alles was auf einer Maschine läuft, muss in Maschinensprache (vereinfacht Assembler) übersetzt werden können --Daniel Bovensiepen 21:45, 6. Jan 2006 (CET)
replies: text:  Assembler ist maschinennaher Code, aber kein nativer Code. Assemblercode muss, wie jeder andere Code auch, erst in Maschinencode übersetzt werden, also: Nein. --77.21.93.83 23:33, 21. Jan. 2011 (CET)
thread_title:  Bytecode in Assembler 

message: Sollte man vielleicht in den Artikel schreiben, dass der Bytecode so entworfen wird, dass er auf moeglichst vielen Architekturen schnell interpretierbar ist? Ich bin mir jetzt nicht sicher, ob das wirklich stimmt, vielleicht kann das jemand ergaenzen, der sich mit VMs auskennt?89.56.240.133 20:30, 18. Mai 2006 (CEST)
replies: text: nein, das stimmt eher nicht. wenn ein zwischencode auf heutigen systemen schnell (direkt, ohne zwischenschritte) interpretiert werden können sollte, würde man keinen bytecode nehmen, bei dem daten an derart ungeraden adressen liegen können. das laden solcher daten kostet leistung. und man würde wohl auch nicht (wie beim java-bytecode) auf stackbasierte verarbeitung setzen, heutige maschinen haben ordentlich schnelle register. -- ∂ 21:10, 18. Mai 2006 (CEST)
thread_title:  Spekulation zur Komplexität der Bytecode-Interpretierung 

message: Im Artikel wird nur C# genannt, aber das Prinzip bezieht sich eigentlich auf alle .NET-Sprachen. Denn die Ausführung ist kein Teil der Programmiersprache (z.B. C#), sondern der Laufzeitumgebung (CLR). Könnte man das entsprechend "weiter" fassen?
(Der vorstehende Beitrag stammt von 89.198.134.253 – 23:35, 22. Nov. 2008 (CET)
replies: text: Die grundlose Fokussierung auf C# (POV) störte mich auch, wurde "abgeschwächt", d.h. auf .NET verallgemeinert --Benutzer:Filzstift ✑ 12:09, 1. Mär. 2010 (CET)
thread_title:  C# 

message: Im Satz "In der Informatik ist Bytecode eine Sammlung von Befehlen für eine virtuelle Maschine." wird auf die Seite "Virtuelle Maschine" verwiesen. Sollte dieser Link nicht auf den Artikel von "Laufzeitumgebung" verwiesen werden? (nicht signierter Beitrag von 193.170.2.36 (Diskussion | Beiträge) 11:47, 3. Nov. 2009 (CET)
thread_title:  Falscher Verweis auf Virtuelle Maschine 

message: in anderer Aspekt: Einen Interpreter kann man, abstrakt betrachtet, zu einem „bedingten indirekten Sprung“ vereinfachen, wobei moderne Interpretersprachen erst durch mehrfach indirekte Verknüpfungen implementierbar sind. Es sind also, analog zum Mehrpass-Compiler, Mehrpass-Interpreter.
Wenn man nun einen Teil der indirekten Verknüpfungen nicht erst zur Laufzeit auflöst, sondern schon vorher, findet definitionsgemäß eine Kompilation statt. Der so entstandene Code ist kein Quellcode mehr, aber auch noch kein Maschinencode. Er muss noch von einer, nun einfacheren und damit auch schnelleren virtuellen Maschine zur Laufzeit interpretiert werden.
Tut mir leid, mir ist nicht ganz klar, was damit gemeint ist. Wenn jemand weiß, was dieser Abschnitt mir sagen soll, könnte dieser jemand dann seine Zeit opfern und den Artikel an dieser Stelle deutlicher formulieren?
Danke.
--84.136.207.38 19:01, 28. Jun. 2010 (CEST)
thread_title:  Text im ersten Paragraphen nicht ganz klar 

message: Hatte diesen Satz gesichtet und etwas umformuliert: "Alternativ bietet sich das quelloffene dnSpy an."
Ich hoffe, das war richtig.F.Blaubiget (Auch ich  finde den Namen doof) 20:50, 23. Jul. 2019 (CEST)
thread_title:  dnSpy