Programming - definitions

Assembler

A program which converts assembly language into machine code.

Assembly Language

A symbolic representation of the machine language of a specific processor. Assembly language is converted to machine code by an assembler. Usually, each line of assembly code produces one machine instruction.

Bit

The unit of information; the amount of information obtained by asking a yes-or-no question; a computational quantity that can take on one of two values,ch as false and true or 0 and 1; the smallest unit of storage - sufficient to hold one bit.

Byte

A component in the machine data hierarchy usually larger than a bit and smaller than a word; now most often eight bits and the smallest addressable unit of storage. A byte typically holds one character.

Compiler

A program that converts another program from some source language (or programming language) to machine language (object code). Some compilers output assembly language which is then converted to machine language by a separate assembler.

Dynamically Linked Library

A library that is linked to application programs when they are loaded or run rather than as the final phase of compilation. This means that the same block of library code can be shared between several tasks rather than each task containing copies of the routines it uses. The executable is compiled with a library of "stubs" which allow link errors to be detected at compile-time. Then, at run time, either the system loader or the task's entry code must arrange for library calls to be patched with the addresses of the real shared library routines, possibly via a jump table.

Environment Variable

A variable that is bound in the current environment. When evaluating an expression in some environment,the evaluation of a variable consists of looking up its name in the environment and substituting its value.

Interpreter

A program that executes other programs. This is in contrast to a compiler that does not execute its input program (the "source code"), but translates it into executable "machine code", that is output to a file for later execution. It may be possible to execute the same source code either directly by an interpreter, or by compiling it, and then executing the machine code produced.

Machine Code

The representation of a computer program which is actually read and interpreted by the computer. A program in machine code consists of a sequence of machine instructions (possibly interspersed with data). Instructions are binary strings. The collection of all possible instructions for a particular computer is known as its "instruction set".

Nibble

Half a byte. Since a byte is nearly always eight bits, a nibble is nearly always four bits (and can therefore be represented by one hex digit).

Word

A fundamental unit of storage in a computer. The size of a word in a particular computer architecture is one of its chief distinguishing characteristics.

The size of a word is usually the same as the width of the computer's data bus so it is possible to read or write a word in a single operation. An instruction is usually one or more words long and a word can be used to hold a whole number of characters. These days, this nearly always means a whole number of bytes (eight bits), most often 32 or 64 bits.

Unix

An interactive time-sharing operating system invented in 1969 by Ken Thompson after Bell Labs left the Multics project, originally so he could play games on his scavenged PDP-7. Dennis Ritchie, the inventor of C, is considered a co-author of the system.

practices prev top next


Maintained by Efi Fogel. Last modified: October 25 2003.