Zum Inhalt springen

„Diskussion:Bytecode“ – Versionsunterschied

Seiteninhalte werden in anderen Sprachen nicht unterstützt.
aus Wikipedia, der freien Enzyklopädie
Letzter Kommentar: vor 15 Jahren von Filzstift in Abschnitt C#
Inhalt gelöscht Inhalt hinzugefügt
FBE2005 (Diskussion | Beiträge)
K +{{Diskussionsseite}}, Überschriften nachgetragen und normalisiert, Beiträge nachträglich signiert und eine alte IP-Sig. verbessert, sowie Abschnitte chronologisch geord. u. w.kl.V.
Zeile 1: Zeile 1:
{{Diskussionsseite}}
== Falscher Verweis auf Virtuelle Maschine ==
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? <small>(''nicht [[Hilfe:Signatur|signierter]] Beitrag von'' [[Benutzer:193.170.2.36|193.170.2.36]] ([[Benutzer Diskussion:193.170.2.36|Diskussion]]&nbsp;|&nbsp;[[Spezial:Beiträge/193.170.2.36|Beiträge]]) 11:47, 3. Nov. 2009 (CET)) </small>


== Bytecode meint immer VM-Code? ==
==Spekulation zur Komplexitaet der Bytecode-Interpretierung==
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?[[Benutzer:89.56.240.133|89.56.240.133]] 20:30, 18. Mai 2006 (CEST)
: 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. -- [[Benutzer:D|∂]] 21:10, 18. Mai 2006 (CEST)


==Bytecode meint immer VM-Code?==
Hey leute, seid Ihr euch sicher, dass mit dem Begriff ''Bytecode'' immer Code für eine [[Virtuelle Maschine|VM]] gemeint ist? Wie heißt dann die Mischform in ausführbaren Dateien, die [[Maschinensprache|Maschinencode]] und Code, der Betriebssystemfunktionen aufruft, enthält? --[[Benutzer:Supaari|Supaari]] [[Benutzer Diskussion:Supaari|<small><sup>bla!</sup><sub>bla!</sub></small>]] 20:30, 10. Sep 2004 (CEST)
Hey leute, seid Ihr euch sicher, dass mit dem Begriff ''Bytecode'' immer Code für eine [[Virtuelle Maschine|VM]] gemeint ist? Wie heißt dann die Mischform in ausführbaren Dateien, die [[Maschinensprache|Maschinencode]] und Code, der Betriebssystemfunktionen aufruft, enthält? --[[Benutzer:Supaari|Supaari]] [[Benutzer Diskussion:Supaari|<small><sup>bla!</sup><sub>bla!</sub></small>]] 20:30, 10. Sep 2004 (CEST)

:Die Angaben sind jetzt deutlich Präziser. Ein Gute Schritt, für eine Einleitung wird das ganze aber jetzt schon etwas lang.--[[Benutzer:Tstrauss|tstrauss]] 22:33, 18. Okt 2004 (CEST)
:Die Angaben sind jetzt deutlich Präziser. Ein Gute Schritt, für eine Einleitung wird das ganze aber jetzt schon etwas lang.--[[Benutzer:Tstrauss|tstrauss]] 22:33, 18. Okt 2004 (CEST)


== Geschichtliches und Hintergründe ==
__________________________________________________________________


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.
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.<br/>
Nach den abgegebenen Erklärungen im Artikel BeyteCode, wäre es besser von VM-Code, oder auch virtuelen Code zu sprechen.<br/>
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.<br/>
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.<br/>
py_thom@yahoo.de
<br/><small>(Der vorstehende Beitrag stammt von [[Spezial:Beiträge/213.39.215.163|213.39.215.163]] – 10:48, 4. Jan. 2005 (CET) – und wurde nachträglich vollständig [[Hilfe:Signatur|signiert]].)</small>


== Bytecode in Assembler ==
Nach den abgegebenen Erklärungen im Artikel BeyteCode, wäre es besser von VM-Code, oder auch virtuelen Code zu sprechen.


Ist es auch möglich Bytecode in eine beliebige Assemblersprache zu übersetzen?
Noch ein anderer Aspekt:
<br/><small>(Der vorstehende Beitrag stammt von [[Spezial:Beiträge/84.165.167.80|84.165.167.80]] – 19:30, 27. Nov. 2005 (CET) – und wurde nachträglich vollständig [[Hilfe:Signatur|signiert]].)</small>
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.


: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 --[[Benutzer:Daniel Bovensiepen|Daniel Bovensiepen]] 21:45, 6. Jan 2006 (CET)
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.


== Spekulation zur Komplexität der Bytecode-Interpretierung ==
py_thom@yahoo.de


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?[[Spezial:Beiträge/89.56.240.133|89.56.240.133]] 20:30, 18. Mai 2006 (CEST)
== Bytecode in Assembler ==
Ist es auch möglich Bytecode in eine beliebige Assemblersprache zu übersetzen?


: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. -- [[Benutzer:D|∂]] 21:10, 18. Mai 2006 (CEST)
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 --[[Benutzer:Daniel Bovensiepen|Daniel Bovensiepen]] 21:45, 6. Jan 2006 (CET)


== C# ==
== C# ==


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?
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?
<br/><small>(Der vorstehende Beitrag stammt von [[Spezial:Beiträge/89.198.134.253|89.198.134.253]] – 23:35, 22. Nov. 2008 (CET) – und wurde nachträglich [[Hilfe:Signatur|signiert]].)</small>

:Die grundlose Fokussierung auf C# (POV) störte mich auch, wurde "abgeschwächt", d.h. auf .NET verallgemeinert --[[Benutzer:Filzstift]]&nbsp;[[Benutzer Diskussion:Filzstift|✑]] 12:09, 1. Mär. 2010 (CET)
:Die grundlose Fokussierung auf C# (POV) störte mich auch, wurde "abgeschwächt", d.h. auf .NET verallgemeinert --[[Benutzer:Filzstift]]&nbsp;[[Benutzer Diskussion:Filzstift|✑]] 12:09, 1. Mär. 2010 (CET)


== Falscher Verweis auf Virtuelle Maschine ==
== C-Sharp ==


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? <small>(''nicht [[Hilfe:Signatur|signierter]] Beitrag von'' [[Benutzer:193.170.2.36|193.170.2.36]] ([[Benutzer Diskussion:193.170.2.36|Diskussion]]&nbsp;|&nbsp;[[Spezial:Beiträge/193.170.2.36|Beiträge]]) 11:47, 3. Nov. 2009 (CET)) </small>
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?

Version vom 19. Mai 2010, 13:25 Uhr

Diese Diskussionsseite dient dazu, Verbesserungen am Artikel „Bytecode“ zu besprechen. Persönliche Betrachtungen zum Thema gehören nicht hierher. Für allgemeine Wissensfragen gibt es die Auskunft.

Füge neue Diskussionsthemen unten an:

Klicke auf Abschnitt hinzufügen, um ein neues Diskussionsthema zu beginnen.

Bytecode meint immer VM-Code?

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)

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)

Geschichtliches und Hintergründe

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.16310:48, 4. Jan. 2005 (CET) – und wurde nachträglich vollständig signiert.)Beantworten

Bytecode in Assembler

Ist es auch möglich Bytecode in eine beliebige Assemblersprache zu übersetzen?
(Der vorstehende Beitrag stammt von 84.165.167.8019:30, 27. Nov. 2005 (CET) – und wurde nachträglich vollständig signiert.)Beantworten

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)

Spekulation zur Komplexität der Bytecode-Interpretierung

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)Beantworten

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)Beantworten

C#

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.25323:35, 22. Nov. 2008 (CET) – und wurde nachträglich signiert.)Beantworten

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)Beantworten

Falscher Verweis auf Virtuelle Maschine

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)) Beantworten