An Entity of Type: Thing, from Named Graph: http://dbpedia.org, within Data Space: dbpedia.org

In computer science, reflective programming or reflection is the ability of a process to examine, introspect, and modify its own structure and behavior.

Property Value
dbo:abstract
  • En informàtica, la reflexió (també anomenada pel seu mot anglès, reflection) és la capacitat d'un programa d'examinar, i eventualment modificar, les seves estructures internes d'alt nivell (per exemple els seus objectes) durant la seva execució. (ca)
  • Reflexe je v objektově orientovaném programování schopnost programovacího jazyka zjistit za běhu informace o určitém programovém objektu. Obecně v programování je reflexe schopnost zjistit informace o programu a jeho syntaktické struktuře. V objektově orientovaném programování je program rozdělen do tříd, kdy jednotlivá třída popisuje vnitřní strukturu objektu a jeho vnější rozhraní. Na základně tříd je možné tvořit jednotlivé objekty. Některé jazyky mají schopnost za běhu zjistit informace o daném programu. Tato schopnost se nazývá reflexe, s jejíž pomocí lze získat za běhu programu informace o typu objektu. V objektově orientovaném programování se dá říci, že vše je objekt, tak je tedy objektem i třída a jiné datové typy, o kterých lze zjistit požadované informace. (cs)
  • في البرمجة وعلم الحاسوب البرمجة الإنعكاسية هي اختبار البرنامج وتحليله في أثناء تشغيله وتنفيذه. (ar)
  • Στην πληροφορική, ο όρος ανάκλαση (αγγλ. reflection) αναφέρεται στη δυνατότητα ενός προγράμματος υπολογιστή να παρατηρεί και να μεταβάλλει τη δομή και τη συμπεριφορά του κατά την εκτέλεση. Σε στατικές γλώσσες όπως η C/C++ όταν γράφουμε το πρόγραμμα πρώτα το μεταγλωττίζουμε σε γλώσσα μηχανής και στην συνέχεια το τρέχουμε. Καθώς το πρόγραμμα εκτελείται δεν είναι δυνατό να τροποποιηθεί το πρόγραμμα και κάθε αλλαγή θα πρέπει να γίνει στο πηγαίο κώδικα ο οποίος στην συνέχεια θα πρέπει να μεταγλωττιστεί σε γλώσσα μηχανής και να εκτελεστεί. Η ιδέα της ανάκλασης είναι ότι κάνουμε αλλαγές στο κώδικα του προγράμματος την ώρα που αυτό εκτελείται. Για παράδειγμα αν έχουμε μια κλάση μπορούμε την ώρα που το πρόγραμμα τρέχει, μέσω της ανάκλασης, να πάρουμε πληροφορίες για την κλάση και να τροποποιήσουμε την λειτουργία της (π.χ. να τροποποιήσουμε τον κώδικα των συναρτήσεων-μεθόδων). Η ιδέα είναι ότι οι εντολές του προγράμματος αποθηκεύονται σαν δεδομένα τα οποία μπορούν να τροποποιηθούν κατά την διάρκεια εκτέλεσης. Η δυνατότητα να προσθέτουμε νέο εκτελέσιμο κώδικα την ώρα που τρέχει το πρόγραμμα ονομάζεται μεταπρογραμματισμός (metaprogramming). Η ανάκλαση εφαρμόζεται συνήθως σε γλώσσες υψηλού επιπέδου που τρέχουν σε κάποια εικονική μηχανή όπως η Smalltalk και άλλες γλώσσες σεναρίων όπως η Ruby , και λιγότερο σε στατικές γλώσσες όπως η Java, η C, η ML ή η Haskell. (el)
  • Reflexion (englisch reflection) bedeutet in der Programmierung, dass ein Programm seine eigene Struktur kennt (englisch introspection) und/oder diese modifizieren kann (englisch intercession). (de)
  • En informática, reflexión (o reflexión computacional) es la capacidad que tiene un programa para observar y opcionalmente modificar su estructura de alto nivel. Normalmente, la reflexión es dinámica o en tiempo de ejecución, aunque algunos lenguajes de programación permiten reflexión estática o en tiempo de compilación. Es más común en lenguajes de programación de alto nivel ejecutándose sobre una máquina virtual, como Smalltalk o Java, y menos común en lenguajes como C. En un sentido más amplio, la reflexión es una actividad computacional que razona sobre su propia computación. Cuando el código fuente de un programa se compila, normalmente se pierde la información sobre la estructura del programa conforme se genera el código de bajo nivel (normalmente lenguaje ensamblador). Si un sistema permite reflexión, se preserva la estructura como en el código generado. Dependiendo de la implementación, el código con reflexión tiende a ser más lento que el que no lo tiene. En los lenguajes que no distinguen entre tiempo de ejecución y tiempo de compilación (como las distintas variantes de Lisp), no hay diferencia entre compilación o interpretación de código y reflexión. (es)
  • En programmation informatique, la réflexion est la capacité d'un programme à examiner, et éventuellement à modifier, ses propres structures internes de haut niveau lors de son exécution. On appelle réflexivité le fait pour un langage de programmation de permettre l'écriture de tels programmes. Un tel langage de programmation est dit réflexif. (fr)
  • In computer science, reflective programming or reflection is the ability of a process to examine, introspect, and modify its own structure and behavior. (en)
  • 情報工学においてリフレクション (reflection) とは、プログラムの実行過程でプログラム自身の構造を読み取ったり書き換えたりする技術のことを指す。 (ja)
  • 반영(reflection)은 컴퓨터 과학 용어로, 컴퓨터 프로그램에서 런타임 시점에 사용되는 자신의 구조와 행위를 관리(type introspection)하고 수정할 수 있는 프로세스를 의미한다. “type introspection”은 객체 지향 프로그램언어에서 런타임에 객체의 형(type)을 결정할 수 있는 능력을 의미한다. 많은 컴퓨터 아키텍처에서, 프로그램 명령은 데이터와 같이 메모리에 적재되므로, 명령과 데이터 사이의 구분은 단지 컴퓨터와 프로그램 언어에 의하여 어떻게 정보가 처리되느냐의 문제이다. 일반적으로, 명령은 실행되고, 데이터는 (명령의 자료로서) 처리된다. 그렇지만, 어떤 언어에서는, 프로그램은 명령 역시 데이터와 같은 방식으로 처리할 수 있기 때문에, reflective 수정이 가능하게 된다. 가장 일반적으로 반영은 스몰토크, 스크립트 언어와 같이 높은 수준의 가상 머신 프로그램 언어에서 주로 많이 사용되고, 자바, C 언어와 같이 선언적이거나 정적 형식의 프로그램 언어에서는 드물게 사용된다. (ko)
  • In informatica, la riflessione o reflection è la capacità di un programma di eseguire elaborazioni che hanno per oggetto il programma stesso, e in particolare la struttura del suo codice sorgente. Un programma Java in esecuzione, per esempio, può esaminare le classi da cui è costituito, i nomi e le firme dei loro metodi, e così via. Il supporto per la riflessione costituisce una delle più notevoli innovazioni rispetto ad una tradizione di linguaggi (C, C++) in cui tutte le informazioni di tipo vengono consumate dal compilatore, al punto che il programma in esecuzione non ha neppure nozione di come la propria memoria sia suddivisa in variabili. La riflessione in generale può anche consentire a un programma di modificare dinamicamente la propria struttura. Per esempio, è tecnicamente possibile costruire applicazioni che sono in grado di applicare a sé stesse pacchetti di aggiornamento durante l'esecuzione, sostituendo dinamicamente parti del proprio codice. (it)
  • In de informatica is reflectie (soms ook introspectie genoemd) het proces waarbij een computerprogramma tijdens de uitvoering (runtime) zijn eigen structuur en gedrag kan observeren en soms ook aanpassen. Programmeren via reflectie wordt reflectief programmeren genoemd. Op het laagste niveau kan machinecode op een reflectieve manier behandeld worden omdat het onderscheid tussen instructies en data slechts een kwestie is van conventie. In hogere programmeertalen zijn instructies en gegevens grotendeels gescheiden: instructies worden uitgevoerd en data wordt bewerkt. Maar als de programmeertaal dit toelaat kan een programma instructies ook als data beschouwen en zo reflectieve aanpassingen maken. Reflectie komt het meeste voor in hogere programmeertalen zoals scripttalen en in mindere mate in programmeertalen met statische typering, zoals C. (nl)
  • Mechanizm refleksji – pojęcie z dziedziny informatyki oznaczające proces, dzięki któremu program komputerowy może być modyfikowany w trakcie działania w sposób zależny od własnego kodu oraz od zachowania w trakcie wykonania. Paradygmat programowania ściśle związany z mechanizmem refleksji to programowanie refleksyjne. Refleksja pozwala w łatwy sposób zarządzać kodem tak, jakby był danymi. Używa się jej najczęściej do zmieniania standardowego zachowania już zdefiniowanych metod lub funkcji, a także do tworzenia własnych konstrukcji semantycznych modyfikujących język. Z drugiej strony kod wykorzystujący refleksję jest mniej czytelny i nie pozwala na sprawdzenie poprawności składniowej i semantycznej w trakcie kompilacji (niewygodne śledzenie błędów). Ciekawym przykładem mechanizmu refleksji są języki programowania, w których każdy element kodu źródłowego reprezentowany jest strukturami danych dostępnymi dla programisty. Nazywamy je językami homoikonicznymi, a kod źródłowy ich programów jest w istocie danymi. Od decyzji programisty zależy, które jego fragmenty będą wartościowane, a które traktowane jak wartości stałe niewymagające obliczeń. Proces ten może być wielokierunkowy, np. część kodu źródłowego może zostać potraktowana jak dane, przekształcona, a następnie znów wartościowana – w ten sposób działają tzw. makra składniowe w dialektach języka Lisp. Mechanizm refleksji jest najczęściej spotykany w językach wysokiego poziomu, zwykle opartych na maszynie wirtualnej. (pl)
  • Em ciência da computação, reflexão computacional (ou somente reflexão) é a capacidade de um programa observar ou até mesmo modificar sua estrutura ou comportamento. Tipicamente, o termo se refere à reflexão dinâmica (em tempo de execução), embora muitas linguagens suportem reflexão estática (em tempo de compilação). A reflexão é mais comum em linguagens alto nível, como SmallTalk e menos comum em linguagens de mais baixo nível como o C. Geralmente, reflexão é a atividade numa computação que permite que um objeto obtenha informações sobre sua estrutura e sobre os motivos de sua computação. O paradigma de programação por trás dessa capacidade é chamado programação reflexiva. Quando o código fonte de um programa é compilado, a informação sobre sua estrutura normalmente se perde quando o código de baixo nível (tipicamente em assembly) é produzido. Já num sistema que suporta reflexão, essa informação é preservada como metadados, anexados ao código gerado. (pt)
  • 在计算机学中,反射式编程(英語:reflective programming)或反射(英語:reflection),是指计算机程序在运行时(runtime)可以访问、检测和修改它本身状态或行为的一种能力。用比喻来说,反射就是程序在运行的时候能够“观察”并且修改自己的行为。 要注意术语“反射”和“内省”(type introspection)的关系。内省(或称“自省”)机制仅指程序在运行时对自身信息(称为元数据)的检测;反射机制不仅包括要能在运行时对程序自身信息进行检测,还要求程序能进一步根据这些信息改变程序状态或结构。 (zh)
  • В інформатиці, рефлексія — це процес, під час якого комп'ютерна програма може відслідковувати і модифікувати власну структуру і поведінку під час виконання. Це, кажучи простими словами, спосіб звернення програми до власного коду. (uk)
  • Отражение (рефлексия; холоним интроспекции, англ. reflection) — процесс, во время которого программа может отслеживать и модифицировать собственную структуру и поведение во время выполнения. Парадигма программирования, положенная в основу отражения, является одной из форм метапрограммирования и называется рефлексивным программированием. Во время выполнения программных инструкций (кода) компьютеры обрабатывают данные, что приводит к их изменению, при этом компьютеры не изменяют код. Однако, в большинстве современных компьютерных архитектур код хранится как данные, и в некоторых языках программирования реализована возможность обрабатывать собственный код как данные, что приводит к изменению уже самого кода во время его выполнения. Такие самоизменяющиеся программы в основном создаются с помощью высокоуровневых языков программирования, использующих виртуальные машины (например, Smalltalk, скриптовые языки). В меньшей степени рефлексия используется в языках с объявляемыми или статическими типами (например, Си, ML, Haskell, F#). Понятие рефлексии в языках программирования введено (Brian Cantwell Smith) в докторской диссертации 1982 года наряду с понятием (англ. Meta-circular evaluator) как компонента . (ru)
dbo:wikiPageExternalLink
dbo:wikiPageID
  • 314905 (xsd:integer)
dbo:wikiPageLength
  • 16001 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID
  • 1114688562 (xsd:integer)
dbo:wikiPageWikiLink
dbp:wikiPageUsesTemplate
dcterms:subject
rdf:type
rdfs:comment
  • En informàtica, la reflexió (també anomenada pel seu mot anglès, reflection) és la capacitat d'un programa d'examinar, i eventualment modificar, les seves estructures internes d'alt nivell (per exemple els seus objectes) durant la seva execució. (ca)
  • في البرمجة وعلم الحاسوب البرمجة الإنعكاسية هي اختبار البرنامج وتحليله في أثناء تشغيله وتنفيذه. (ar)
  • Reflexion (englisch reflection) bedeutet in der Programmierung, dass ein Programm seine eigene Struktur kennt (englisch introspection) und/oder diese modifizieren kann (englisch intercession). (de)
  • En programmation informatique, la réflexion est la capacité d'un programme à examiner, et éventuellement à modifier, ses propres structures internes de haut niveau lors de son exécution. On appelle réflexivité le fait pour un langage de programmation de permettre l'écriture de tels programmes. Un tel langage de programmation est dit réflexif. (fr)
  • In computer science, reflective programming or reflection is the ability of a process to examine, introspect, and modify its own structure and behavior. (en)
  • 情報工学においてリフレクション (reflection) とは、プログラムの実行過程でプログラム自身の構造を読み取ったり書き換えたりする技術のことを指す。 (ja)
  • 반영(reflection)은 컴퓨터 과학 용어로, 컴퓨터 프로그램에서 런타임 시점에 사용되는 자신의 구조와 행위를 관리(type introspection)하고 수정할 수 있는 프로세스를 의미한다. “type introspection”은 객체 지향 프로그램언어에서 런타임에 객체의 형(type)을 결정할 수 있는 능력을 의미한다. 많은 컴퓨터 아키텍처에서, 프로그램 명령은 데이터와 같이 메모리에 적재되므로, 명령과 데이터 사이의 구분은 단지 컴퓨터와 프로그램 언어에 의하여 어떻게 정보가 처리되느냐의 문제이다. 일반적으로, 명령은 실행되고, 데이터는 (명령의 자료로서) 처리된다. 그렇지만, 어떤 언어에서는, 프로그램은 명령 역시 데이터와 같은 방식으로 처리할 수 있기 때문에, reflective 수정이 가능하게 된다. 가장 일반적으로 반영은 스몰토크, 스크립트 언어와 같이 높은 수준의 가상 머신 프로그램 언어에서 주로 많이 사용되고, 자바, C 언어와 같이 선언적이거나 정적 형식의 프로그램 언어에서는 드물게 사용된다. (ko)
  • 在计算机学中,反射式编程(英語:reflective programming)或反射(英語:reflection),是指计算机程序在运行时(runtime)可以访问、检测和修改它本身状态或行为的一种能力。用比喻来说,反射就是程序在运行的时候能够“观察”并且修改自己的行为。 要注意术语“反射”和“内省”(type introspection)的关系。内省(或称“自省”)机制仅指程序在运行时对自身信息(称为元数据)的检测;反射机制不仅包括要能在运行时对程序自身信息进行检测,还要求程序能进一步根据这些信息改变程序状态或结构。 (zh)
  • В інформатиці, рефлексія — це процес, під час якого комп'ютерна програма може відслідковувати і модифікувати власну структуру і поведінку під час виконання. Це, кажучи простими словами, спосіб звернення програми до власного коду. (uk)
  • Reflexe je v objektově orientovaném programování schopnost programovacího jazyka zjistit za běhu informace o určitém programovém objektu. Obecně v programování je reflexe schopnost zjistit informace o programu a jeho syntaktické struktuře. (cs)
  • Στην πληροφορική, ο όρος ανάκλαση (αγγλ. reflection) αναφέρεται στη δυνατότητα ενός προγράμματος υπολογιστή να παρατηρεί και να μεταβάλλει τη δομή και τη συμπεριφορά του κατά την εκτέλεση. Σε στατικές γλώσσες όπως η C/C++ όταν γράφουμε το πρόγραμμα πρώτα το μεταγλωττίζουμε σε γλώσσα μηχανής και στην συνέχεια το τρέχουμε. Καθώς το πρόγραμμα εκτελείται δεν είναι δυνατό να τροποποιηθεί το πρόγραμμα και κάθε αλλαγή θα πρέπει να γίνει στο πηγαίο κώδικα ο οποίος στην συνέχεια θα πρέπει να μεταγλωττιστεί σε γλώσσα μηχανής και να εκτελεστεί. Η ιδέα της ανάκλασης είναι ότι κάνουμε αλλαγές στο κώδικα του προγράμματος την ώρα που αυτό εκτελείται. Για παράδειγμα αν έχουμε μια κλάση μπορούμε την ώρα που το πρόγραμμα τρέχει, μέσω της ανάκλασης, να πάρουμε πληροφορίες για την κλάση και να τροποποιήσουμε (el)
  • En informática, reflexión (o reflexión computacional) es la capacidad que tiene un programa para observar y opcionalmente modificar su estructura de alto nivel. Normalmente, la reflexión es dinámica o en tiempo de ejecución, aunque algunos lenguajes de programación permiten reflexión estática o en tiempo de compilación. Es más común en lenguajes de programación de alto nivel ejecutándose sobre una máquina virtual, como Smalltalk o Java, y menos común en lenguajes como C. En un sentido más amplio, la reflexión es una actividad computacional que razona sobre su propia computación. (es)
  • In informatica, la riflessione o reflection è la capacità di un programma di eseguire elaborazioni che hanno per oggetto il programma stesso, e in particolare la struttura del suo codice sorgente. Un programma Java in esecuzione, per esempio, può esaminare le classi da cui è costituito, i nomi e le firme dei loro metodi, e così via. (it)
  • In de informatica is reflectie (soms ook introspectie genoemd) het proces waarbij een computerprogramma tijdens de uitvoering (runtime) zijn eigen structuur en gedrag kan observeren en soms ook aanpassen. Programmeren via reflectie wordt reflectief programmeren genoemd. (nl)
  • Mechanizm refleksji – pojęcie z dziedziny informatyki oznaczające proces, dzięki któremu program komputerowy może być modyfikowany w trakcie działania w sposób zależny od własnego kodu oraz od zachowania w trakcie wykonania. Paradygmat programowania ściśle związany z mechanizmem refleksji to programowanie refleksyjne. Mechanizm refleksji jest najczęściej spotykany w językach wysokiego poziomu, zwykle opartych na maszynie wirtualnej. (pl)
  • Em ciência da computação, reflexão computacional (ou somente reflexão) é a capacidade de um programa observar ou até mesmo modificar sua estrutura ou comportamento. Tipicamente, o termo se refere à reflexão dinâmica (em tempo de execução), embora muitas linguagens suportem reflexão estática (em tempo de compilação). A reflexão é mais comum em linguagens alto nível, como SmallTalk e menos comum em linguagens de mais baixo nível como o C. (pt)
  • Отражение (рефлексия; холоним интроспекции, англ. reflection) — процесс, во время которого программа может отслеживать и модифицировать собственную структуру и поведение во время выполнения. Парадигма программирования, положенная в основу отражения, является одной из форм метапрограммирования и называется рефлексивным программированием. Понятие рефлексии в языках программирования введено (Brian Cantwell Smith) в докторской диссертации 1982 года наряду с понятием (англ. Meta-circular evaluator) как компонента . (ru)
rdfs:label
  • برمجة إنعكاسية (ar)
  • Reflexió (informàtica) (ca)
  • Reflexe (programování) (cs)
  • Reflexion (Programmierung) (de)
  • Ανάκλαση (υπολογιστές) (el)
  • Reflexión (informática) (es)
  • Riflessione (informatica) (it)
  • Réflexion (informatique) (fr)
  • 반영 (컴퓨터 과학) (ko)
  • リフレクション (情報工学) (ja)
  • Reflectie (informatica) (nl)
  • Reflective programming (en)
  • Mechanizm refleksji (pl)
  • Reflexão (programação) (pt)
  • Отражение (программирование) (ru)
  • Рефлексія (програмування) (uk)
  • 反射式编程 (zh)
owl:differentFrom
owl:sameAs
prov:wasDerivedFrom
foaf:isPrimaryTopicOf
is dbo:wikiPageRedirects of
is dbo:wikiPageWikiLink of
is dbp:paradigm of
is dbp:paradigms of
is foaf:primaryTopic of
Powered by OpenLink Virtuoso    This material is Open Knowledge     W3C Semantic Web Technology     This material is Open Knowledge    Valid XHTML + RDFa
This content was extracted from Wikipedia and is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License