In computer science, data ( or ) is information in a form suitable for use with a computer. Data is often distinguished from programs. A program is a sequence of instructions that detail a task for the computer to perform. In this sense, data is thus everything in a software that is not program code. Physical computer memory elements consist of an address and a byte/word of data storage. Digital data can be reduced to key/value pair combinations . Supersets of this idea, where keys are derived, and values are arranged, relatively, are called data structures. They are also used in peripheral devices.
In an alternate usage, binary files (which are not human-readable) are sometimes called "data" as distinguished from human-readable "text". The total amount of digital data in 2007 was estimated to be 281 billion gigabytes (= 281 exabytes).
Data vs programs
Fundamentally, computers follow the instructions they are given. A set of instructions to perform a given task (or tasks) is called a "program". In the nominal case, the program, as executed by the computer, will consist of binary machine code. The elements of storage manipulated by the program, but not actually executed by the CPU, contain data.
Typically, programs are stored in special file types, different from that used for data. Executable files contain programs; all other files are data files. However, executable files may also contain data which is "built-in" to the program. In particular, some executable files have a data segment, which nominally contains constants and initial values (both data).
For example: a user might first instruct the operating system to load a word processor program from one file, and then edit a 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 algorithms used by the spell checker to suggest corrections would be either machine code or a code in some interpretable programming language.
The line between program and data can become blurry. An interpreter, for example, is a program. The input data to an interpreter is itself a program just not one expressed in native machine language. In many cases, the interpreted program will be a human-readable text file, which is manipulated with a text editor more normally associated with plain text data. Metaprogramming similarly involves programs manipulating other programs as data. Also, for programs like compilers, linkers, debuggers, program updaters, etc. may other programs serve as data. The most special case is the case of self-modifying code, which manipulates itself.
- Computer memory
- Data storage device
- Data type
- Information processor
- Von Neumann architecture
cs:Data (po ta e) da:Data (datalogi) fa: ( ) hu:Adat (sz m t stechnika) ml: ( ) arz: ( ) ms:Data (pengkomputan) or: ru: ( ) sk:D ta (informatika) ur: