Hallo Zusammen,
ich habe eine Frage zu Interpretersprachen, wie z.B. Basic, perl etca.
sind alle Interpretersprachen plattformunabhängig?
vielen Dank für eure Antworten
Mina
Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge
Der Prozessor eines Computers kann nur Maschinenbefehle lesen (bestehend aus Binärcode 0/1). Programme, die nicht in Maschinensprache geschrieben sind, müssen erst in diese übersetzt werden.
Die Aufgabe des Übersetzens übernehmen eigens dafür entwickelte Programme, Interpreter oder Compiler genannt.
Interpreter
Interpreter übersetzen (interpretieren) die Programme zeilenweise. Das Programm kann deshalb zur Laufzeit geändert werden. Die Befehle werden Zeile für Zeile in Maschinensprache übersetzt und vom Prozessor ausgeführt. Bei jedem Neustart des Programms muss dieses auch wieder neu interpretiert werden. Aus diesem Grund können keine Optimierungen vorgenommen werden, und die Programme laufen langsamer ab.
Beispiele für Interpreter-Sprachen: Q-BASIC, JAVA, LOGO
Compiler
Ein Compiler übersetzt einen Programmtext vollständig in Maschinensprache und legt diesen in einer eigenständigen Programm-Datei ab. Während der Compilierung optimiert der Compiler die Programmgröße und -geschwindigkeit. Beim Neustart wird vom Prozessor direkt die Programmdatei abgearbeitet.
Dadurch laufen compilierte Programme 10 bis 20 mal schneller ab als zu interpretierende Programme.
Beispiele für Compiler-Sprachen: PASCAL, DELPHI, C++
Quelle: http://www.plauener.de/lessing/delphi/delphi01.htm
JVM
Ein ausführbares Programm läuft in dieser immer gleichen Umgebung, die durch entsprechende Software dargestellt wird; JVM-Implementationen sind z.B. in jedem vernünftigen Web-Browser enthalten und daher praktisch überall verfügbar.
Quelle: http://www.java.de/article/view/43/1/16
Zum vergleich: Es gibt doch auch für jede Plattform einen eigenen C-Compiler (oder nicht?) und deshalb ist C doch plattformabhängig?
Solange du nur die Standard C/C++ Libs oder die Boost Libs verwendest kann ein C/C++-Programm durchaus auch Plattformunabhängig sein.
Gruss, d-oli