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.
Grenzen der Definition dynamischer Programmiersprachen Bearbeiten
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 Bearbeiten
Die folgenden Programmiersprachen werden üblicherweise als dynamische Programmiersprachen angesehen:
- ActionScript
- BeanShell
- Common Lisp und andere Lisp-Dialekte
- Groovy
- JavaScript
- Julia (Programmiersprache)
- Matlab
- Lua
- Objective-C
- Perl
- PHP
- Python
- Ruby
- Smalltalk
- Tcl
- VBScript
Umsetzung dynamischer Konzepte Bearbeiten
Weblinks Bearbeiten
- Einführung zu Dynamischen Programmiersprachen auf lesscode.de, Initiative zur Förderung agiler Technologien
Einzelnachweise Bearbeiten
- Sun: (Memento des vom 10. August 2017 im Internet Archive) Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis. . 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.“
- Eclipse: Dynamic Languages Toolkit.
- ActiveState: (Memento des vom 12. Juni 2010 im Internet Archive) Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis. .
- Spring Framework: Dynamic language support.
- Groovy – (Memento des vom 2. März 2014 im Internet Archive) Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis. .