Content deleted Content added
No edit summary |
KMaster888 (talk | contribs) rm bad link |
||
Line 19:
To store data [[byte]]s in a file, they have to be [[Serialization|serialized]] in a [[file format]]. Typically, programs are stored in special file types, different from those used for other data. [[Executable|Executable file]]s contain programs; all other files are also [[data file]]s. However, executable files may also contain data used by the program which is built into the program. In particular, some executable files have a [[data segment]], which nominally contains constants and initial values for variables, both of which can be considered data.
The line between program and data can become blurry. An [[interpreter (computing)|interpreter]], for example, is a program. The input data to an interpreter is itself a program, just not one expressed in native [[Machine code|machine language]]. In many cases, the interpreted program will be a human-readable [[text file]], which is manipulated with a [[text editor]] program. [[Metaprogramming]] similarly involves programs manipulating other programs as data. Programs like [[compiler]]s, [[Linker (computing)|linker]]s, [[debugger]]s,
For example, a [[user (computing)|user]] might first instruct the [[operating system]] to load a [[word processor]] program from one file, and then use the running program to open and edit a [[Document file format|document]] stored in another file. In this example, the document would be considered data. If the word processor also features a [[spell checker]], then the dictionary (word list) for the spell checker would also be considered data. The [[algorithm]]s used by the spell checker to suggest corrections would be either [[machine code]] data or text in some interpretable [[programming language]].
|