Data (// DAY-tə or //) is the quantities, characters, or symbols on which operations are performed by a computer, being stored and transmitted in the form of electrical signals and recorded on magnetic, optical, or mechanical recording media. A program is a set of data that consists of a series of coded software instructions to control the operation of a computer or other machine. 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[clarification needed] 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).
At it's heart, a single datum is a value stored at a specific location.
Fundamentally, computers follow a sequence of instructions they are given in the form of data. 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, are also data. The Marvellous twist is that program instructions; and data that the program manipulates, are both stored in exactly the same way. Therefore it is possible for computer programs to operate on other computer programs, by manipulating their programmatic data.
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 program (more normally associated with plain text data). Metaprogramming similarly involves programs manipulating other programs as data. Programs like compilers, linkers, debuggers, program updaters, virus scanners etc. use other programs as their data.
To store data bytes in a file, they have to be serialized in a "file format". Typically, programs are stored in special file types, different from those used for other data. Executable files contain programs; all other files are also data files. However, executable files may also contain "in-line" 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 with the word processor program. 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 data or text in some interpretable programming language.
- Assembly language
- Big data
- Bus (computing)
- Computer memory
- CPU cache
- Data dictionary
- Data modeling
- data network
- Data storage device
- Data stream
- Data type
- Information processor
- Instruction set
- Memory address/location/key
- Offset (computer science)
- Primary/unique key
- Processor register
- Von Neumann architecture
- Shift register
- State (computer science)
- Value (computer science)
- "data". Oxford Dictionaries. Retrieved 2012-10-11.
- "computer program". The Oxford Pocket Dictionary of Current English. Retrieved 2012-10-11.
- "file(1)". OpenBSD Manual Pages. 2004-12-04. Retrieved 2007-03-19.
- Paul, Ryan (March 12, 2008). "Study: amount of digital info > global storage capacity". Ars Technica. Retrieved 2008-03-12.
- Gantz, John F. et al. (2008). "The Diverse and Exploding Digital Universe". International Data Corporation via EMC. Retrieved 2008-03-12.