Code as data
In computer science, the expressions code as data and data as code refer to the duality between code and data, that allows computers to treat instructions in a programming language as data handled by a running program.
Concepts where computer code is treated as data, or data executed as code, include:
- Configuration scripts, declarative programming, domain-specific languages and markup languages, where program execution is controlled by data elements that are not sequences of commands.
- First-class functions, functions that can be accessed as entities in the language.
- Homoiconicity, a property of languages like LISP where the code has the same structure as the data.
- Reflection and metaprogramming, the capability of a language to modify the structure and behavior of objects in the program at run time.
- Self-modifying code, the capability of a language to alter its own instructions while it is executing.
- Stored program, code in a computer with the Von Neumann architecture that stores programs and data in the same memory device.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.