Dynamische Programmiersprache - LinkFang.de





Dynamische Programmiersprache


Dieser Artikel bedarf einer Überarbeitung.
Dieser Artikel behandelt eine Gruppe von Programmiersprachen. Zur Methode für die Reduktion der Laufzeit von Algorithmen siehe Dynamische Programmierung.

Dynamische Programmiersprachen bezeichnet in der Softwaretechnik eine Klasse von höheren Programmiersprachen, welche zur Laufzeit Tätigkeiten ausführen, die andere Programmiersprachen nicht oder zur Übersetzungszeit ausführen.[1] Zu diesen Tätigkeiten gehört beispielsweise die Erweiterung des Programmes während der Laufzeit. Diese Tätigkeiten können auch bei anderen Programmiersprachen nachgebildet werden, bei dynamischen Programmiersprachen werden sie aber direkt von der Sprache unterstützt.

Grenzen der Definition dynamischer Programmiersprachen

Die Abgrenzung dynamischer Programmiersprachen zu anderen ist nicht exakt. Begriffe wie Übersetzungszeit und Laufzeit verschwimmen beispielsweise bei der Verwendung von virtuellen Maschinen oder Just-in-time-Kompilierung. Weiterhin bieten viele Programmiersprachen die Möglichkeit auf die eine oder andere Weise Bytecode oder Maschinensprache zu manipulieren. Andererseits sind dynamische Programmiersprachen meistens, aber nicht immer dynamisch typisiert.

Generell gilt, dass die Zuordnung einer Programmiersprache zu den dynamischen Programmiersprachen weniger durch ihre Fähigkeit, dynamische Konzepte umzusetzen, begründet ist, sondern vielmehr auf Grund des einfachen Einsatz dynamischer Techniken in dieser Programmiersprache zustande kommt.

Beispiele

Die folgenden Programmiersprachen werden üblicherweise als dynamische Programmiersprachen angesehen:[2][3]

Umsetzung Dynamischer Konzepte

Eval
Einige dynamische Programmiersprachen bieten eine eval Funktion. Diese Funktion führt Code aus, der ihr in einem String übergeben wird.
Objektveränderungen zur Laufzeit
Typen oder Objektsysteme können in dynamischen Programmiersprachen zur Laufzeit verändert werden. Beispielsweise können neue Objekte basierend auf existierenden Objekten durch Mixins erzeugt werden. Oder aber der Vererbungsbaum wird zur Laufzeit verändert.
Funktionale Programmierung
Funktionale Konzepte werden häufig von dynamischen Programmiersprachen unterstützt. Beispielsweise gehören Closures meist zum Bestandteil dynamischer Programmiersprachen, während aber Continuations oft nicht unterstützt werden.
Reflexion
Reflexion (engl. reflection) und Introspektion (engl. introspection) wird üblicherweise von dynamischen Programmiersprachen unterstützt. Dabei wird beispielsweise in Lisps S-Expressions der Code wie eine Datenstruktur evaluiert und modifiziert.
Makros
Einige dynamische Programmiersprachen kombinieren Introspektion und Evals in Makros. In dynamischen Programmiersprachen ermöglichen Makros auf Informationen des Compilers zuzugreifen und ermöglichen „vollen“ Zugriff auf die Laufzeitumgebung des Programms womit beispielsweise Codeoptimierungen oder Syntaxänderungen umgesetzt werden können.

Weblinks

Einzelnachweise

  1. Sun: Using JavaScript as a Real Programming Language . Darin: „The term dynamic programming language describes a class of programming languages that share a number of common runtime characteristics that are available in static languages only during compilation, if at all.“
  2. Eclipse: Dynamic Languages Toolkit .
  3. ActiveState: Solutions for Dynamic Language Support, Management, and Compliance .
  4. Spring Framework: Dynamic language support .
  5. Groovy – offizielle Webpräsenz .

Kategorien: Programmierung | Programmiersprache als Thema

Quelle: Wikipedia - http://de.wikipedia.org/wiki/Dynamische Programmiersprache (Vollständige Liste der Autoren des Textes [Versionsgeschichte])    Lizenz: CC-by-sa-3.0

Änderungen: Alle Bilder mit den meisten Bildunterschriften wurden entfernt. Ebenso alle zu nicht-existierenden Artikeln/Kategorien gehenden internen Wikipedia-Links (Bsp. Portal-Links, Redlinks, Bearbeiten-Links). Entfernung von Navigationsframes, Geo & Normdaten, Mediadateien, gesprochene Versionen, z.T. ID&Class-Namen, Style von Div-Containern, Metadaten, Vorlagen, wie lesenwerte Artikel. Ansonsten sind keine Inhaltsänderungen vorgenommen worden. Weiterhin kann es durch die maschinelle Bearbeitung des Inhalts zu Fehlern gerade in der Darstellung kommen. Darum würden wir jeden Besucher unserer Seite darum bitten uns diese Fehler über den Support mittels einer Nachricht mit Link zu melden. Vielen Dank!

Stand der Informationen: August 201& - Wichtiger Hinweis: Da die Inhalte maschinell von Wikipedia übernommen wurden, ist eine manuelle Überprüfung nicht möglich. Somit garantiert LinkFang.de nicht die Richtigkeit und Aktualität der übernommenen Inhalte. Sollten die Informationen mittlerweile fehlerhaft sein, bitten wir Sie darum uns per Support oder E-Mail zu kontaktieren. Wir werden uns dann innerhalb von spätestens 10 Tagen um Ihr Anliegen kümmern. Auch ohne Anliegen erfolgt mindestens alle drei Monate ein Update der gesamten Inhalte.