Unterschied zwischen Compiler und Interpreter ?



  • Mir ging's um den Maschinencode-Part. Ein Interpreter übersetzt nichts in Maschinencode; und selbst wenn doch (Stichwort "JIT"), wird da sicher nichts gleich wieder vergessen.

    Dass in so einem System auch ein Parser, ggf. ein Compiler steckt, klar -- aber dennoch wird das ganze interpretiert, nicht direkt ausgeführt.



  • mein verstaendniss ist
    ein script steuert software die das script interpretiert (mittels interpreter)
    ein programm steuert hardware die nur noch maschinencode sieht (mittels compiler uebersetzt).

    ein emulator ist dabei als interpreter von programmen anzusehen.



  • Sehr schön. Und nun versuch mal

    Script := Programm
    

    in dieses Weltbild zu integrieren.



  • finix schrieb:

    Sehr schön. Und nun versuch mal

    Script := Programm
    

    in dieses Weltbild zu integrieren.

    ich scheiter schon dabei diese zuweisung in mein gehirn zu integrieren. kannst du deine anforderung umformulieren? ansonsten sehe ich da 1000 sachen drinn.
    -jedes script hat ein programm das es interpretiert?
    -ein script beinhalten ein programm? huh
    -...



  • Sorry.

    Script == Programm
    


  • Der Thread kann dann wohl begraben werden 😞



  • finix schrieb:

    Sorry.

    Script == Programm
    

    das hatte ich schon integriert.

    in script steuert software
    ein programm steuert hardware

    um es noch hervor zu heben koennte ich auch abstrahiert behaupten, dass ein script das program fuer eine software ist, genau wie jede instruktion vom microcode fuer sich auch ein programm in einer cpu ist (deswegen kann man heutzutage auf CPUs mit einer neuen firmware bugs fixen.)



  • Also ist jetzt ein Script ein Programm und ein Programm ist ein Programm?



  • finix schrieb:

    Also ist jetzt ein Script ein Programm und ein Programm ist ein Programm

    vielleicht verstehst du es wenn ich es auf ein anderes model uebertrage.

    script->grossvater
    program->vater
    cpu->kind

    meine abstraktion war nun, dass ein script fuers program genau so ein program ist wie das program ein programm fuer die cpu ist.

    also

    ein grossvater ist fuer den vater genau so vater, wie der vater ein vater fuers kind ist.

    wie gesagt. das ist meine ansicht ;), ich hab nicht vor euch davon zu ueberzeugen sie auch zu teilen ... ich hoffe das macht ihr freiwillig 🤡🤡



  • Bashar schrieb:

    Der Thread kann dann wohl begraben werden 😞

    Vielleicht kann ja ein zuständiger Mod einfach den Part ab meinem Beitrag oben löschen oder raussplitten...



  • der unterschied ist eher fliessend. viele interpreter 'compilieren' quelltext zu bytecode, damit der eigentliche interpreter nicht den quelltext parsen muss (was zeit kostet). ...wurde aber schon gesagt irgendwie.
    übrigens, wer mit interpretern o.ä. rumspielen will: http://www.ucalc.com/langbuilder.html
    🙂



  • Bashar schrieb:

    Der Thread kann dann wohl begraben werden 😞

    Was simmt denn nicht 😕



  • oO
    so ein simples Thema und dann 4 Seiten? ^^

    Ein Interpreter liest den Code,
    ein Compiler übersetzt ihn.

    Wär eigentlich alle (grob zumindest)
    heutige Mischsysteme haben mit der eigentlichen Definition nix mehr gemein

    Vorteil Interpreter:
    - Plattformunabhängig (sofern interpreter vorhanden)
    - der Skripter braucht nur nen Texteditor, mehr nicht
    Nachteil Interpreter:
    - der User hat den kompletten Code, kann ihn also auch verändern
    - langsamer
    - Fehler treten erst zur Laufzeit auf
    - ohne Interpreter geht nix

    Vorteil Compiler:
    - Code ist großteils geschützt
    - Programme sind Stand-Alone
    - schnelle Ausfuehrung
    - die meisten Fehler werden bereits waehrend des kompilierens entdeckt
    Nachteil Compiler:
    - Plattformabhaengig
    - Aenderungen muessen erst neu kompiliert werden

    evtl noch:
    ein Interpreter sieht immer nur den Teil, den er grad liest
    ein Compiler sieht den Code als ganzes

    sorry, falls einiges davon geklaert wurde, aber ich hatte keine Lust, alles hier zu lesen 😉



  • zwutz schrieb:

    Nachteil Interpreter:
    - der User hat den kompletten Code, kann ihn also auch verändern

    das muss kein nachteil sein.

    zwutz schrieb:

    - Fehler treten erst zur Laufzeit auf

    bei compiliertem code treten fehler beim compilieren und zur laufzeit auf.
    🙂



  • zwutz schrieb:

    oO
    so ein simples Thema und dann 4 Seiten? ^^

    Dafür dass das Thema so simpel ist, liest sich dein Beitrag schon ein wenig kurios...



  • zwutz schrieb:

    sorry, falls einiges davon geklaert wurde, aber ich hatte keine Lust, alles hier zu lesen 😉

    Ja, ungelesen einfach neue Phrasen reindreschen ist auch viel besser.


Anmelden zum Antworten