Δυναμική γλώσσα προγραμματισμού

Ο όρος δυναμική γλώσσα προγραμματισμού χρησιμοποιείται ευρύτατα στην επιστήμη των υπολογιστών για να περιγράψει γλώσσες προγραμματισμού υψηλού επιπέδου που παρουσιάζουν κατά το χρόνο εκτέλεσης συμπεριφορά που άλλες γλώσσες ίσως παρουσιάζουν κατά τη μετάφραση. Αυτές οι συμπεριφορές μπορεί να αποτελούν επέκταση του προγράμματος, είτε προσθέτοντας νέο κώδικα, είτε επεκτείνοντας αντικείμενα και ορισμούς, είτε τροποποιώντας το σύστημα τύπων, όλα κατά τη διάρκεια της εκτέλεσης του προγράμματος. Αυτές οι συμπεριφορές μπορούν να εφαρμοστούν σχεδόν σε οποιαδήποτε γλώσσα επαρκούς πολυπλοκότητας, αλλά οι δυναμικές γλώσσες παρέχουν εργαλεία για να διευκολύνουν τη χρήση τους.

Οι περισσότερες δυναμικές γλώσσες έχουν δυναμικούς τύπους.

Περιορισμοί και ασάφειες στον ορισμό

Ο ορισμός της δυναμικής γλώσσας προγραμματισμού είναι ασαφής γιατί προσπαθεί να κάνει διάκριση μεταξύ κώδικα και δεδομένων καθώς και μεταξύ χρόνου μετάφρασης και χρόνου εκτέλεσης, που δεν είναι όμως καθολικά. Οι εικονικές μηχανές, η μεταγλώττιση just-in-time και η δυνατότητα πολλών γλωσσών προγραμματισμού να μεταβάλλουν άμεσα τον κώδικα μηχανής σε κάποια συστήματα καθιστούν μια τέτοια διάκριση αφηρημένη. Σε γενικές γραμμές, ο ισχυρισμός ότι μια γλώσσα προγραμματισμού είναι δυναμική αναφέρεται περισσότερο την ευκολία χρήσης ορισμένων δυναμικών χαρακτηριστικών της γλώσσας παρά στις δυνατότητες της ίδιας της γλώσσας.

Παραδείγματα

Ορισμένα παραδείγματα γλωσσών προγραμματισμού που θεωρούνται δυναμικές:

 BeanShell
 Common Lisp και μερικές άλλες διάλεκτοι της Lisp
 Groovy
 JavaScript
 ActionScript
 Perl
 PHP
 Python 
 Ruby
 Smalltalk
 Tcl
 Objective-C

Κάποιες από αυτές τις γλώσσες υποστηρίζονται και στο .NET Framework από το Microsoft Dynamic Language Runtime.

Παραπομπές

Δείτε επίσης 
 Γλώσσα προγραμματισμού σεναρίων

Γλώσσες προγραμματισμού