Metaprogramming

http://dbpedia.org/resource/Metaprogramming an entity of type: Person

البرمجة الوصفية تقنية من تقنيات البرمجة تمكن البرنامج من اعتبار البرامج الأخرى بيانات ومعاملتها كذلك، وتستعمل فيها لغة وصفية. rdf:langString
Metaprogrammierung ist in der Informatik die Erstellung von Computerprogrammen ("Metaprogramme"), die Computerprogramme erzeugen. Das Ziel dabei ist es, den Computer ganz oder teilweise an dem Prozess der Programmierung mitarbeiten zu lassen. Dadurch ist es möglich, Fehler durch Automatisierung zu vermindern und Computerprogramme ad hoc zu erstellen und auszuführen. Metaprogrammierung gestattet es ebenfalls, die Programmiersprache durch den Programmierer um neue Konstruktionen zu erweitern. Daher ist sie in homoikonischen Programmiersprachen ein sehr effektives Mittel zur Entwicklung von Domänenspezifischen Sprachen. rdf:langString
Metaprogramado estas skribado de komputilaj programoj kiuj kapablas pritrakti programojn kiel datenoj. La programoj povas esti desegnataj por legi, generi, analizi kaj/aŭ konverti aliajn programojn aŭ ec por evoluigi sin mem dum ili rulas. En kelkaj kazoj metaprogramado permesas al la programistoj uzi malpli da fontkodo ol kutime, kaj tiel malpliiĝas ankaŭ la tempo bezonata por skribi programon. La programlingvo en kiu metaprogramo estas skribita nomiĝas metalingvo. Ekzemploj de metalingvoj estas Lisp, Julia kaj Rust. rdf:langString
メタプログラミング (metaprogramming) とはプログラミング技法の一種で、ロジックを直接コーディングするのではなく、あるパターンをもったロジックを生成する高位ロジックによってプログラミングを行う方法、またその高位ロジックを定義する方法のこと。主に対象言語に埋め込まれたマクロ言語によって行われる。 rdf:langString
Metaprogrammeren is het schrijven van computerprogramma's die andere programma's kunnen lezen, genereren, analyseren en/of transformeren. Sommige metaprogramma's kunnen zichzelf aanpassen terwijl deze actief zijn. In enkele gevallen van metaprogrammeren stelt het programmeurs in staat om minder broncode te gebruiken dan normaal, en dus is er ook minder tijd nodig om een programma te schrijven. De programmeertaal waarin een metaprogramma wordt geschreven noemen we meestal metataal. De taal van de programma's die gemanipuleerd worden noemen we objecttaal. rdf:langString
Метапрограммирование — вид программирования, связанный с созданием программ, которые порождают другие программы как результат своей работы (в частности, на стадии компиляции их исходного кода) либо программ, которые меняют себя во время выполнения (самомодифицирующийся код). Первое позволяет получать программы при меньших затратах времени и усилий на кодирование, чем если бы программист писал их вручную целиком, второе позволяет улучшить свойства кода (размер и быстродействие). rdf:langString
元編程(英語:Metaprogramming),又譯超編程,是指某类计算机程序的编写,这类计算机程序编写或者操纵其它程序(或者自身)作为它们的資料,或者在编译时完成部分本应在运行时完成的工作。多数情况下,与手工编写全部代码相比,程序员可以获得更高的工作效率,或者给与程序更大的灵活度去处理新的情形而无需重新编译。 编写元程序的语言称之为元语言。被操纵的程序的语言称之为「」。一门编程语言同时也是自身的元语言的能力称之为「反射」或者「自反」。 反射是促进元编程的一种很有价值的语言特性。把编程语言自身作为一級資料類型(如LISP、Forth或Rebol)也很有用。支持泛型编程的语言也使用元编程能力。 元编程通常通过两种方式实现。一种是通过应用程序编程接口(APIs)将运行时引擎的内部信息暴露于编程代码。另一种是动态执行包含编程命令的字符串表达式。因此,“程序能够编写程序”。虽然两种方式都能用于同一种语言,但大多数语言趋向于偏向其中一种。 rdf:langString
Метапрограмування — вид програмування, пов'язаний із створенням програмного коду, який на основі описів (метаданих) деяких процесів, алгоритмів або даних породжує інші програми для автоматизації описаних процесів, виконання послідовностей операцій алгоритмів або обробки даних. Метапрограмування засноване на метаданих, які можуть визначати типи, структуру або правила обробки даних, але не обмежується лише цим. Генеруючі код програми часто називають метапрограмами, a написання цих програм називається метапрограмуванням. rdf:langString
Metaprogramování je programovací technika, založená na vytváření programů, které nakládají s jinými počítačovými programy jako se svými daty. Mohou je tedy modifikovat nebo vytvářet, případně i modifikovat samy sebe. To mimo jiné může umožnit již při kompilaci provádět činnosti, které by jinak musely proběhnout až za běhu programu. rdf:langString
Ο όρος Μεταπρογραμματισμός (Αγγλικά: Metaprogramming) χαρακτηρίζει τα προγράμματα υπολογιστών τα οποία μπορούν να τροποποιούν προγράμματα. Για παράδειγμα ένα πρόγραμμα μπορεί κατά την διάρκεια της μεταγλώττισης να παράγει κώδικα ο οποίος στην συνέχεια μεταγλωττίζεται και δημιουργείται το εκτελέσιμο αρχείο σε γλώσσα μηχανής. Ο μεταπρογραμματισμός είναι όρος που χαρακτηρίζει τα «προγράμματα που παράγουν προγράμματα», δηλαδή προγράμματα τα οποία τροποποιούν/δημιουργούν πηγαίο κώδικα. Στην γλώσσα C++ ο μεταπρογραμματισμός συσχετίζεται με τον προγραμματισμό με χρήση πρότυπων templates. Σε γλώσσες σεναρίων (scripting languages) όπως η Ruby ο μεταπρογραμματισμός αναφέρεται στην δυνατότητα να προσθέτουμε νέο εκτελέσιμο κώδικα ο οποίος τροποποιεί την συμπεριφορά του προγράμματος κατά την εκτέλεση rdf:langString
La metaprogramación consiste en escribir programas que escriben o manipulan otros programas (o a sí mismos) como datos, o que hacen en tiempo de compilación parte del trabajo que, de otra forma, se haría en tiempo de ejecución. Esto permite al programador ahorrar tiempo en la producción de código. Un ejemplo sencillo de un metaprograma sería este script de Bash: #!/bin/bash # metaprogram echo '#!/bin/bash' >program for ((I=1; I<=992; I++)); do echo "echo $I" >>program done chmod +x program rdf:langString
Metaprogramming is a programming technique in which computer programs have the ability to treat other programs as their data. It means that a program can be designed to read, generate, analyze or transform other programs, and even modify itself while running. In some cases, this allows programmers to minimize the number of lines of code to express a solution, in turn reducing development time. It also allows programs a greater flexibility to efficiently handle new situations without recompilation. rdf:langString
La métaprogrammation, nommée par analogie avec les métadonnées et les métaclasses[réf. souhaitée], désigne l'écriture de programmes qui manipulent des données décrivant elles-mêmes des programmes. Dans le cas particulier où le programme manipule ses propres instructions pendant son exécution, on parle de programme auto-modifiant. rdf:langString
메타프로그래밍(Metaprogramming)이란 자기 자신 혹은 다른 컴퓨터 프로그램을 데이터로 취급하며 프로그램을 작성·수정하는 것을 말한다. 넓은 의미에서, 런타임에 수행해야 할 작업의 일부를 컴파일 타임 동안 수행하는 프로그램을 말하기도 한다. 메타 프로그래밍에 이용되는 언어를 메타 언어라고 하고, 메타 프로그래밍의 대상이 되는 언어를 대상 언어라고 한다. 한 프로그래밍 언어가 자기 자신의 메타 언어가 되는 것을 반영이라고 한다. 메타 프로그래밍이 동작하는 방식은 세 가지 종류가 있다. 첫째 방식은, 런타임 엔진 코드를 API를 통해 프로그램에 노출시키는 방식이다. 둘째 방식은, 문자열이나 혹은 다른 형태로 된 프로그래밍 명령을 동적으로 수행시키는 방식이다. 둘째 방식을 이용하면 프로그램이 프로그램을 작성하게 할 수 있다. 한 언어가 이 두 방식을 동시에 취할 수도 있으나, 대개의 언어들은 둘 중 한 방식으로 치우치는 경향이 있다. rdf:langString
Metaprogramowanie – technika umożliwiająca programom tworzenie lub modyfikację kodu innych programów (lub ich samych). Program będący w stanie modyfikować lub generować kod innego programu nazywa się metaprogramem. Wykorzystanie zasad metaprogramowania pozwala na przykład na dynamiczną modyfikację programu podczas jego kompilacji. Metaprogramy tworzy się w metajęzykach. Jeśli język jest jednocześnie swoim metajęzykiem, taką cechę nazywamy refleksyjnością (ang. reflexivity). rdf:langString
Metaprogramação é a programação de programas que escrevem ou manipulam outros programas (ou a si próprios) assim como seus dados, ou que fazem parte do trabalho em tempo de compilação. Em alguns casos, isso permite que os programadores sejam mais produtivos ao evitar que parte do código seja escrita manualmente. A metaprogramação é geralmente implementada através de duas formas. A primeira é a exposição do mecanismo interno de execução ao código através de uma API. A segunda é a execução dinâmica de expressões de texto que contém comandos de programação. rdf:langString
rdf:langString Metaprogramming
rdf:langString برمجة وصفية
rdf:langString Metaprogramování
rdf:langString Metaprogrammierung
rdf:langString Μεταπρογραμματισμός
rdf:langString Metaprogramado
rdf:langString Metaprogramación
rdf:langString Métaprogrammation
rdf:langString メタプログラミング
rdf:langString 메타프로그래밍
rdf:langString Metaprogramowanie
rdf:langString Metaprogrammeren
rdf:langString Metaprogramação
rdf:langString Метапрограммирование
rdf:langString Метапрограмування
rdf:langString 元编程
xsd:integer 393460
xsd:integer 1120546751
rdf:langString البرمجة الوصفية تقنية من تقنيات البرمجة تمكن البرنامج من اعتبار البرامج الأخرى بيانات ومعاملتها كذلك، وتستعمل فيها لغة وصفية.
rdf:langString Metaprogramování je programovací technika, založená na vytváření programů, které nakládají s jinými počítačovými programy jako se svými daty. Mohou je tedy modifikovat nebo vytvářet, případně i modifikovat samy sebe. To mimo jiné může umožnit již při kompilaci provádět činnosti, které by jinak musely proběhnout až za běhu programu. V mnoha případech tato technika umožňuje programátorovi napsat program úsporněji (zmenšit počet jeho řádků, zjednodušit jeho vnitřní strukturu). Může také pomoci s odstraněním duplikovaného kódu v rámci programu. Jazyk, ve kterém je metaprogram napsán, se nazývá metajazykem. Jazyk programu, se kterým metaprogram manipuluje, se nazývá předmětným jazykem. Schopnost programovacího jazyka být svým vlastním metajazykem se často nazývá reflexí. Reflexe je schopnost programovacího jazyka, která programu v něm napsaném umožňuje zjistit informace o sobě samém.
rdf:langString Metaprogrammierung ist in der Informatik die Erstellung von Computerprogrammen ("Metaprogramme"), die Computerprogramme erzeugen. Das Ziel dabei ist es, den Computer ganz oder teilweise an dem Prozess der Programmierung mitarbeiten zu lassen. Dadurch ist es möglich, Fehler durch Automatisierung zu vermindern und Computerprogramme ad hoc zu erstellen und auszuführen. Metaprogrammierung gestattet es ebenfalls, die Programmiersprache durch den Programmierer um neue Konstruktionen zu erweitern. Daher ist sie in homoikonischen Programmiersprachen ein sehr effektives Mittel zur Entwicklung von Domänenspezifischen Sprachen.
rdf:langString Ο όρος Μεταπρογραμματισμός (Αγγλικά: Metaprogramming) χαρακτηρίζει τα προγράμματα υπολογιστών τα οποία μπορούν να τροποποιούν προγράμματα. Για παράδειγμα ένα πρόγραμμα μπορεί κατά την διάρκεια της μεταγλώττισης να παράγει κώδικα ο οποίος στην συνέχεια μεταγλωττίζεται και δημιουργείται το εκτελέσιμο αρχείο σε γλώσσα μηχανής. Ο μεταπρογραμματισμός είναι όρος που χαρακτηρίζει τα «προγράμματα που παράγουν προγράμματα», δηλαδή προγράμματα τα οποία τροποποιούν/δημιουργούν πηγαίο κώδικα. Στην γλώσσα C++ ο μεταπρογραμματισμός συσχετίζεται με τον προγραμματισμό με χρήση πρότυπων templates. Σε γλώσσες σεναρίων (scripting languages) όπως η Ruby ο μεταπρογραμματισμός αναφέρεται στην δυνατότητα να προσθέτουμε νέο εκτελέσιμο κώδικα ο οποίος τροποποιεί την συμπεριφορά του προγράμματος κατά την εκτέλεση (runtime). Στην γλώσσα Ruby ο μεταπρογραμματισμός βασίζεται στο API που επιτρέπει ανάκλαση.
rdf:langString Metaprogramado estas skribado de komputilaj programoj kiuj kapablas pritrakti programojn kiel datenoj. La programoj povas esti desegnataj por legi, generi, analizi kaj/aŭ konverti aliajn programojn aŭ ec por evoluigi sin mem dum ili rulas. En kelkaj kazoj metaprogramado permesas al la programistoj uzi malpli da fontkodo ol kutime, kaj tiel malpliiĝas ankaŭ la tempo bezonata por skribi programon. La programlingvo en kiu metaprogramo estas skribita nomiĝas metalingvo. Ekzemploj de metalingvoj estas Lisp, Julia kaj Rust.
rdf:langString La metaprogramación consiste en escribir programas que escriben o manipulan otros programas (o a sí mismos) como datos, o que hacen en tiempo de compilación parte del trabajo que, de otra forma, se haría en tiempo de ejecución. Esto permite al programador ahorrar tiempo en la producción de código. Un ejemplo sencillo de un metaprograma sería este script de Bash: #!/bin/bash # metaprogram echo '#!/bin/bash' >program for ((I=1; I<=992; I++)); do echo "echo $I" >>program done chmod +x program Este script genera un nuevo programa que imprime por pantalla los números 1 a 992. Esto es sólo una muestra de cómo usar código para escribir más código, no la forma más eficiente de imprimir una lista de números. La herramienta de metaprogramación más común es el compilador, el cual permite al programador escribir un programa relativamente corto en un lenguaje de alto nivel para, posteriormente, escribir un programa equivalente en lenguaje ensamblador o lenguaje máquina. Esto, por lo general, significa un buen ahorro de tiempo si se compara con la posibilidad de escribir el programa en lenguaje máquina de forma directa. Otro ejemplo bastante común de metaprogramación se puede encontrar en el uso de Lex (véase también: ) y Yacc (véase también: bison), que son usados para generar compiladores e intérpretes.​​
rdf:langString La métaprogrammation, nommée par analogie avec les métadonnées et les métaclasses[réf. souhaitée], désigne l'écriture de programmes qui manipulent des données décrivant elles-mêmes des programmes. Dans le cas particulier où le programme manipule ses propres instructions pendant son exécution, on parle de programme auto-modifiant. Elle peut être employée pour générer du code interprété par un compilateur et donner un résultat constant, afin d'éviter un calcul manuel. Il permet également de réduire le temps d'exécution du programme si le résultat constant avait été classiquement calculé par le programme comme pour les résultats variables. Cette méthode ne s'applique pas uniquement aux calculs mais aussi au remplissage de données constantes telles que des tableaux ou des structures plus complexes. Cependant cette technique ne fonctionne que pour des valeurs constantes. En effet, si une donnée manipulée par le métaprogramme est une entrée du programme, par exemple une saisie de l’utilisateur, elle ne peut pas être connue avant l'exécution du programme. Il est donc impossible qu'un tel métaprogramme soit interprété par un compilateur. L'optimisation par métaprogrammation est alors totalement perdue. La métaprogrammation ne se limite pas seulement à l'écriture de données contenant un programme destiné au compilateur. Elle peut simplement être la manipulation d'un programme en fonction d'entrées variables. Par exemple, un programme peut, selon ses entrées, muter le code d'un métaprogramme. Ce métaprogramme peut alors être destiné à une exécution ultérieure ou une génération de code.
rdf:langString Metaprogramming is a programming technique in which computer programs have the ability to treat other programs as their data. It means that a program can be designed to read, generate, analyze or transform other programs, and even modify itself while running. In some cases, this allows programmers to minimize the number of lines of code to express a solution, in turn reducing development time. It also allows programs a greater flexibility to efficiently handle new situations without recompilation. Metaprogramming can be used to move computations from run-time to compile-time, to generate code using compile time computations, and to enable self-modifying code. The ability of a programming language to be its own metalanguage is called reflection. Reflection is a valuable language feature to facilitate metaprogramming. Metaprogramming was popular in the 1970s and 1980s using list processing languages such as LISP. LISP hardware machines were popular in the 1980s and enabled applications that could process code. They were frequently used for artificial intelligence applications.
rdf:langString 메타프로그래밍(Metaprogramming)이란 자기 자신 혹은 다른 컴퓨터 프로그램을 데이터로 취급하며 프로그램을 작성·수정하는 것을 말한다. 넓은 의미에서, 런타임에 수행해야 할 작업의 일부를 컴파일 타임 동안 수행하는 프로그램을 말하기도 한다. 메타 프로그래밍에 이용되는 언어를 메타 언어라고 하고, 메타 프로그래밍의 대상이 되는 언어를 대상 언어라고 한다. 한 프로그래밍 언어가 자기 자신의 메타 언어가 되는 것을 반영이라고 한다. 메타 프로그래밍이 동작하는 방식은 세 가지 종류가 있다. 첫째 방식은, 런타임 엔진 코드를 API를 통해 프로그램에 노출시키는 방식이다. 둘째 방식은, 문자열이나 혹은 다른 형태로 된 프로그래밍 명령을 동적으로 수행시키는 방식이다. 둘째 방식을 이용하면 프로그램이 프로그램을 작성하게 할 수 있다. 한 언어가 이 두 방식을 동시에 취할 수도 있으나, 대개의 언어들은 둘 중 한 방식으로 치우치는 경향이 있다. 셋째 방식은, 해당 언어의 범주를 완전히 벗어나는 것이다. 범용 프로그램 변환(program transformation) 시스템은 일반적인 메타프로그래밍을 직접 구현한다. 이와 같은 방식은 해당 언어에서 메타 프로그램 지원 여부와 상관없이 거의 모든 대상 언어에 적용될 수 있다. 종류에는 3가지가 있는데 타입 내성 또는 타입 자기성찰(Type Introspection), 반영(Reflection), 자기-수정 코드(Self-Modifying Code)이다. 타입 자기성찰은 수행중인 프로그램에서 변수나 함수들의 타입이나 속성을 알아내는 능력을 말한다. 반영(Reflection)은 실행중인 프로그램 자신의 구조와 행동을 조사하고 자가성찰(introspect) 하고 변경할 수 있는 능력을 말한다. 자기-수정 코드(Self-Modifying Code)는 코드를 스스로 고칠 수 있는 것을 말하는 것이다. 메타 프로그래밍의 종류가 구현되어 있는 언어로는 자바, 파이썬, Go, Lisp 등이 있다.
rdf:langString メタプログラミング (metaprogramming) とはプログラミング技法の一種で、ロジックを直接コーディングするのではなく、あるパターンをもったロジックを生成する高位ロジックによってプログラミングを行う方法、またその高位ロジックを定義する方法のこと。主に対象言語に埋め込まれたマクロ言語によって行われる。
rdf:langString Metaprogrammeren is het schrijven van computerprogramma's die andere programma's kunnen lezen, genereren, analyseren en/of transformeren. Sommige metaprogramma's kunnen zichzelf aanpassen terwijl deze actief zijn. In enkele gevallen van metaprogrammeren stelt het programmeurs in staat om minder broncode te gebruiken dan normaal, en dus is er ook minder tijd nodig om een programma te schrijven. De programmeertaal waarin een metaprogramma wordt geschreven noemen we meestal metataal. De taal van de programma's die gemanipuleerd worden noemen we objecttaal.
rdf:langString Metaprogramowanie – technika umożliwiająca programom tworzenie lub modyfikację kodu innych programów (lub ich samych). Program będący w stanie modyfikować lub generować kod innego programu nazywa się metaprogramem. Wykorzystanie zasad metaprogramowania pozwala na przykład na dynamiczną modyfikację programu podczas jego kompilacji. Metaprogramy tworzy się w metajęzykach. Jeśli język jest jednocześnie swoim metajęzykiem, taką cechę nazywamy refleksyjnością (ang. reflexivity). Metaprogramowanie może polegać nie tylko na generowaniu kodu, ale również na modyfikacjach w czasie wykonania programu. Takie możliwości dają języki Javascript, C#, Lisp, Perl, PHP, Prolog, Python, Ruby, Groovy, Smalltalk, R oraz Tcl.
rdf:langString Metaprogramação é a programação de programas que escrevem ou manipulam outros programas (ou a si próprios) assim como seus dados, ou que fazem parte do trabalho em tempo de compilação. Em alguns casos, isso permite que os programadores sejam mais produtivos ao evitar que parte do código seja escrita manualmente. A linguagem em que o metaprograma é escrito é chamada metalinguagem. A linguagem dos programas que são manipulados é chamada linguagem objeto. A habilidade de uma linguagem de programação de ser sua própria metalinguagem é chamada reflexão. A reflexão facilita a metaprogramação, assim como ter uma linguagem de programação que é um tipo de dado de primeira classe de si mesma. Por exemplo, a programação genérica invoca a metaprogramação na própria linguagem. A metaprogramação é geralmente implementada através de duas formas. A primeira é a exposição do mecanismo interno de execução ao código através de uma API. A segunda é a execução dinâmica de expressões de texto que contém comandos de programação.
rdf:langString Метапрограммирование — вид программирования, связанный с созданием программ, которые порождают другие программы как результат своей работы (в частности, на стадии компиляции их исходного кода) либо программ, которые меняют себя во время выполнения (самомодифицирующийся код). Первое позволяет получать программы при меньших затратах времени и усилий на кодирование, чем если бы программист писал их вручную целиком, второе позволяет улучшить свойства кода (размер и быстродействие).
rdf:langString 元編程(英語:Metaprogramming),又譯超編程,是指某类计算机程序的编写,这类计算机程序编写或者操纵其它程序(或者自身)作为它们的資料,或者在编译时完成部分本应在运行时完成的工作。多数情况下,与手工编写全部代码相比,程序员可以获得更高的工作效率,或者给与程序更大的灵活度去处理新的情形而无需重新编译。 编写元程序的语言称之为元语言。被操纵的程序的语言称之为「」。一门编程语言同时也是自身的元语言的能力称之为「反射」或者「自反」。 反射是促进元编程的一种很有价值的语言特性。把编程语言自身作为一級資料類型(如LISP、Forth或Rebol)也很有用。支持泛型编程的语言也使用元编程能力。 元编程通常通过两种方式实现。一种是通过应用程序编程接口(APIs)将运行时引擎的内部信息暴露于编程代码。另一种是动态执行包含编程命令的字符串表达式。因此,“程序能够编写程序”。虽然两种方式都能用于同一种语言,但大多数语言趋向于偏向其中一种。
rdf:langString Метапрограмування — вид програмування, пов'язаний із створенням програмного коду, який на основі описів (метаданих) деяких процесів, алгоритмів або даних породжує інші програми для автоматизації описаних процесів, виконання послідовностей операцій алгоритмів або обробки даних. Метапрограмування засноване на метаданих, які можуть визначати типи, структуру або правила обробки даних, але не обмежується лише цим. Генеруючі код програми часто називають метапрограмами, a написання цих програм називається метапрограмуванням.
xsd:nonNegativeInteger 15268

data from the linked data cloud