Tierra is a computer simulation developed by ecologist Thomas S. Ray in the early 1990s in which computer programs compete for time (central processing unit (CPU) time) and space (access to main memory). In this context, the computer programs in Tierra are considered to be evolvable and can mutate, self-replicate and recombine. Tierra's virtual machine is written in C.[1] It operates on a custom instruction set designed to facilitate code changes and reordering, including features such as jump to template[2] (as opposed to the relative or absolute jumps common to most instruction sets).