Ανάκλαση (επιστήμη υπολογιστών)
Στην επιστήμη των υπολογιστών, ο όρος ανάκλαση (αγγλ. reflection) αναφέρεται στη δυνατότητα ενός προγράμματος υπολογιστή να παρατηρεί και να μεταβάλλει τη δομή και τη συμπεριφορά του κατά την εκτέλεση.
Σε πολλές αρχιτεκτονικές, οι εντολές του προγράμματος αποθηκεύονται σαν δεδομένα - ως εκ τούτου η διάκριση μεταξύ εντολών και δεδομένων είναι απλώς θέμα του τρόπου με τον οποίο η πληροφορία αντιμετωπίζεται από τον υπολογιστή και τη γλώσσα προγραμματισμού. Υπό κανονικές συνθήκες, οι εντολές εκτελούνται και τα δεδομένα αποτελούν αντικείμενο επεξεργασίας αλλά, σε κάποιες γλώσσες προγραμματισμού, τα προγράμματα αντιμετωπίζουν και τις εντολές ως δεδομένα και επομένως κάνουν ανακλαστικές αλλαγές. Η ανάκλαση εφαρμόζεται συνήθως σε γλώσσες υψηλού επιπέδου που τρέχουν σε κάποια εικονική μηχανή όπως η Smalltalk και άλλες γλώσσες σεναρίων, και λιγότερο σε στατικές γλώσσες όπως η Java, η C, η ML ή η Haskell.
Εξωτερικοί σύνδεσμοι [Επεξεργασία]
- Brian Cantwell Smith, Procedural Reflection in Programming Languages, Department of Electrical Engineering and Computer Science, Massachusetts Institute of Technology, PhD Thesis, 1982
- Brian C. Smith. Reflection and semantics in a procedural language. Technical Report MIT-LCS-TR-272, Massachusetts Institute of Technology, Cambridge, Mass., January 1982