Dynamische Programmiersprache

Dynamische Programmiersprache
QS-Informatik

Dieser Artikel wurde aufgrund von inhaltlichen Mängeln auf der Qualitätssicherungsseite der Redaktion Informatik eingetragen. Dies geschieht, um die Qualität der Artikel aus dem Themengebiet Informatik auf ein akzeptables Niveau zu bringen. Hilf mit, die inhaltlichen Mängel dieses Artikels zu beseitigen und beteilige dich an der Diskussion! (+)

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. 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.

Inhaltsverzeichnis

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:

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 Programmes womit beispielsweise Codeoptimierungen oder Syntaxänderungen umgesetzt werden können.

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Dynamische Typsysteme — Dynamische Typisierung ist die Zuteilung des Typs einer Variablen zur Laufzeit eines Programms. Im Gegensatz zur statischen Typisierung verzichtet man auf eine explizite Typisierung; der Typ einer Variablen ergibt sich aus dem Typ des Werts, der… …   Deutsch Wikipedia

  • Programmiersprache Smalltalk — Smalltalk Logo von Smalltalk Basisdaten Entwickler: diverse Aktuelle Version: Smalltalk 80  (1980) …   Deutsch Wikipedia

  • Dynamische Webseite — Eine Webseite (von engl. web page) oder Internetseite ist ein Dokument im World Wide Web, das mit einem Webbrowser von einem Webserver abgerufen werden kann. Die Begriffe Webseite oder Seite werden auch des Öfteren synonym zu den Begriffen… …   Deutsch Wikipedia

  • Programmiersprache Perl — Perl Paradigmen: prozedural, modular, teilweise objektorientiert Erscheinungsjahr: 1987 Entwickler: Larry Wall, Perl Porter Aktuelle  …   Deutsch Wikipedia

  • Programmiersprache Haskell — Haskell Basisdaten Paradigmen: funktional, nicht strikt, modular …   Deutsch Wikipedia

  • Programmiersprache Eiffel — Eiffel ist eine universelle, rein objektorientierte Programmiersprache und wurde 1985 von dem französischen Informatiker Bertrand Meyer und seiner Firma Interactive Software Engineering Inc. (Goleta, Kalifornien) als Alternative zu C++ entworfen …   Deutsch Wikipedia

  • Smalltalk (Programmiersprache) — Smalltalk Logo von Smalltalk Basisdaten Entwickler: diverse Aktuelle Version: Smalltalk 80  (1980) …   Deutsch Wikipedia

  • PHP (Programmiersprache) — PHP serverseitig interpretierte Skriptsprache Basisdaten Paradigmen: imperativ, objektorientiert Erscheinungsjahr …   Deutsch Wikipedia

  • Smalltalk-80 (Programmiersprache) — Smalltalk Basisdaten Erscheinungsjahr: 1972 (Entwicklung ab 1969) Designer: Alan Kay, Dan Ingalls, Adele Goldberg E …   Deutsch Wikipedia

  • Python (Programmiersprache) — Python Basisdaten Paradigmen: multiparadigmatisch Erscheinungsjahr: 1991 …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”