Interpretierte Sprache

Interpretierte Sprache ist eine Programmiersprache, auf der Programme ("interpretiert") durch ein Dolmetscher-Programm 'indirekt' durchgeführt werden. Dem kann mit einer kompilierten Sprache gegenübergestellt werden, die in den Maschinencode umgewandelt und dann 'direkt' durch die Gastgeber-Zentraleinheit durchgeführt wird. Theoretisch kann jede Sprache kompiliert oder interpretiert werden, so wird diese Benennung rein wegen der allgemeinen Durchführungspraxis und nicht eines wesentlichen Eigentums einer Sprache angewandt. Tatsächlich, für einige Programmiersprachen, gibt es wenig Leistungsunterschied zwischen einem interpretierenden - oder kompiliert - gestützte Annäherung an ihre Durchführung.

Viele Sprachen sind mit sowohl Bearbeitern als auch Dolmetschern, einschließlich GRUNDLEGENDEN, C, Lispelns, Pascal und Pythonschlange durchgeführt worden. Während Java zu einer Form übersetzt wird, die beabsichtigt ist, um interpretiert zu werden, gerade rechtzeitig wird Kompilation häufig verwendet, um Maschinencode zu erzeugen. Das Microsoft.NET Fachwerk-Sprachen kompiliert immer zu Common Intermediate Language (CIL), die dann gerade rechtzeitig in den heimischen Maschinencode kompiliert wird. Viele Lispeln-Durchführungen können interpretierten und kompilierten Code frei mischen. Diese Durchführungen verwenden auch einen Bearbeiter, der willkürlichen Quellcode an der Durchlaufzeit übersetzen kann, um Code maschinell herzustellen.

Historischer Hintergrund dessen hat gedolmetscht/kompiliert

In den frühen Tagen der Computerwissenschaft war Sprachdesign schwer unter Einfluss der Entscheidung, das Kompilieren oder die Interpretation als eine Weise der Ausführung zu verwenden. Zum Beispiel verlangen einige kompilierte Sprachen, dass Programme den Datentyp einer Variable zurzeit ausführlich festsetzen müssen, wird er erklärt oder zuerst verwendet, während einige interpretierte Sprachen die dynamischen Aspekte der Interpretation ausnutzen, um solche Behauptungen unnötig zu machen. Zum Beispiel erlaubt Plausch (1980), der entworfen wurde, um an der Durchlaufzeit interpretiert zu werden, allgemeinen Gegenständen, mit einander dynamisch aufeinander zu wirken.

Am Anfang wurden interpretierte Sprachen Linie-für-Linie kompiliert; d. h. jede Linie wurde kompiliert, weil sie im Begriff gewesen ist durchgeführt zu werden, und wenn eine Schleife oder Unterprogramm bestimmte Linien veranlassen würden, mehrmals durchgeführt zu werden, würden sie jedes Mal wiederkompiliert. Das ist viel weniger üblich geworden. Die meisten so genannten interpretierten Sprachen verwenden eine Zwischendarstellung, die das Kompilieren und die Interpretation verbindet. In diesem Fall kann ein Bearbeiter Produktion eine Form von bytecode oder hat Code eingefädelt, der dann von einem bytecode Dolmetscher durchgeführt wird.

Beispiele schließen ein:

Die Zwischendarstellung kann ein für allemal (als in Java), jedes Mal vor der Ausführung (als in Perl oder Ruby), oder jedes Mal kompiliert werden, wenn eine Änderung in der Quelle vor der Ausführung (als in der Pythonschlange) entdeckt wird.

Vorteile, eine Sprache zu interpretieren

Interpretation einer Sprache gibt Durchführungen etwas zusätzliche Flexibilität über kompilierte Durchführungen. Eigenschaften, die häufig leichter sind, in Dolmetschern durchzuführen, als in Bearbeitern, schließen ein (aber werden auf nicht beschränkt):

  • Hardwarebasisunabhängigkeit (Javas Byte-Code, zum Beispiel)
  • Nachdenken und reflektierender Gebrauch des Schätzers (z.B eine erste Ordnung eval Funktion)
  • das dynamische Schreiben
  • kleinere rechtskräftige Programm-Größe (da Durchführungen Flexibilität haben, um den Instruktionscode zu wählen)
  • dynamischer scoping

Nachteile von interpretierten Sprachen

Der Hauptnachteil der Interpretation ist eine viel langsamere Geschwindigkeit der Programm-Ausführung im Vergleich zur direkten Maschinencodeausführung auf der Gastgeber-Zentraleinheit. Eine Technik, die verwendet ist, um Leistung zu verbessern, ist gerade rechtzeitig Kompilation, die oft durchgeführte Folgen der interpretierten Instruktion umwandelt, Maschinencode zu veranstalten.

Liste oft interpretierter Sprachen

  • APL Ein Vektor hat Sprache mit einer ungewöhnlichen Codierung orientiert
  • J Eine APL Variante, in der stillschweigende Definition einige der Vorteile zur Verfügung stellt, zu kompilieren
  • NATTER-Webseite scripting Sprache
  • GRUNDLEGEND (obwohl die ursprüngliche Version, GRUNDLEGENDER Dartmouth, kompiliert wurde, wie viele moderne GRUNDLAGEN sind)
  • thinBasic
  • ECMAScript
  • ActionScript (wird Version 3.0, deshalb eval Funktion nicht interpretiert, wurde entfernt)
  • E4X
  • JavaScript (zuerst genannt Mokka, dann LiveScript)
  • JScript
  • Gleichungsmanipulation und Lösen-Systeme
  • GNU-Oktave
  • Interactive Data Language (IDL)
  • Mathematica
  • MATLAB
  • Wohlbefinden Interpretiert oder kompiliert.
  • Hervor (hat traditionell interpretiert eingefädelt)
  • Spielschöpfer-Sprache
  • Lava
  • Wahnsinn-Schrift
  • Perl
  • PHP
  • PostScript
  • Pythonschlange
  • Lispeln
  • Firmenzeichen
  • Schema
  • MUMPS (traditionell interpretierte, moderne Versionen kompiliert)
  • REXX
  • Rubin
  • JRuby (Eine javanische Durchführung von Ruby)
  • Plausch
  • Bistro
  • Delfin-Plausch
  • F-Schrift
  • Wenig Plausch
  • Quieken
  • VisualAge
  • VisualWorks
  • Sprachen von Scripting
  • WebDNA
  • Spreadsheets
  • Übertreffen Sie Lager-Formeln, interpretiert sie von einem tokenized Format
  • S
  • R
  • Tcl
  • XOTcl
  • XMLmosaic Ein xml enthalten C# wie Programmiersprache, die durch eine Konsole-Anwendung interpretiert ist, die in Visuellem Grundlegendem.NET geschrieben ist

Zu einem virtuellen Maschinencode gewöhnlich kompilierte Sprachen

Viele interpretierte Sprachen werden zuerst zu einer Form des virtuellen Maschinencodes kompiliert, der dann entweder interpretiert oder an der Durchlaufzeit zum heimischen Code kompiliert wird.

  • Java (oft übersetzt zu bytecode, aber kann auch zu einem heimischen binären Verwenden eines AOT Bearbeiters kompiliert werden)
  • Irrer
  • Schließen Sie sich Java an
  • ColdFusion
  • Scala
  • Lua
  • .NET-Fachwerk-Sprachen (übersetzt zum CIL-Code)
  • C#
  • Visueller grundlegender.NET
  • Hecht
Pythonschlange
  • Quieken-Plausch
  • Visueller FoxPro

Siehe auch

  • Kompilierte Sprache
  • Geführter Code
  • Sprache von Scripting

Isaiah / Intifada
Impressum & Datenschutz