Misconceptions

A computer does not need to be electric, nor even have a processor, nor RAM, nor even hard disk. The minimal definition of a computer is anything that transforms information in a purposeful way.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Required technology

Computational systems as flexible as a personal computer can be built out of almost anything. For example, a computer can be made out of billiard balls (billiard ball computer); this is an unintuitive and pedagogical example that a computer can be made out of almost anything. More realistically, modern computers are made out of transistors made of photolithographed semiconductors.
Historically, computers evolved from mechanical computers and eventually from vacuum tubes to transistors.
There is active research to make computers out of many promising new types of technology, such as optical computing, DNA computers, neural computers, and quantum computers. Some of these can easily tackle problems that modern computers cannot (such as how quantum computers can break some modern encryption algorithms by quantum factoring).

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Computer architecture paradigms

Some different paradigms of how to build a computer from the ground-up:

RAM machines
These are the types of computers with a CPU, computer memory, etc., which understand basic instructions in a machine language. The concept evolved from the Turing machine.
Brains
Brains are massively parallel processors made of neurons, wired in intricate patterns, that communicate via electricity and neurotransmitter chemicals.
Programming languages
Such as the lambda calculus, or modern programming languages, are virtual computers built on top of other computers.
Cellular automata
For example, the game of Life can create "gliders" and "loops" and other constructs that transmit information; this paradigm can be applied to DNA computing, chemical computing, etc.
Groups and committees
The linking of multiple computers (brains) is itself a computer
Logic gates are a common abstraction which can apply to most of the above digital or analog paradigms.
The ability to store and execute lists of instructions called programs makes computers extremely versatile, distinguishing them from calculators. The Church–Turing thesis is a mathematical statement of this versatility: any computer with a minimum capability (being Turing-complete) is, in principle, capable of performing the same tasks that any other computer can perform. Therefore any type of computer (netbook, supercomputer, cellular automaton, etc.) is able to perform the same computational tasks, given enough time and storage capacity.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Limited-function computers

Conversely, a computer which is limited in function (one that is not "Turing-complete") cannot simulate arbitrary things. For example, simple four-function calculators cannot simulate a real computer without human intervention. As a more complicated example, without the ability to program a gaming console, it can never accomplish what a programmable calculator from the 1990s could (given enough time); the system as a whole is not Turing-complete, even though it contains a Turing-complete component (the microprocessor). Living organisms (the body, not the brain) are also limited-function computers designed to make copies of themselves; they cannot be reprogrammed without genetic engineering

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Virtual computers

A "computer" is commonly considered to be a physical device. However, one can create a computer program which describes how to run a different computer, i.e. "simulating a computer in a computer". Not only is this a constructive proof of the Church-Turing thesis, but is also extremely common in all modern computers. For example, some programming languages use something called an interpreter, which is a simulated computer built on top of the basic computer; this allows programmers to write code (computer input) in a different language than the one understood by the base computer (the alternative is to use a compiler). Additionally, virtual machines are simulated computers which virtually replicate a physical computer in software, and are very commonly used by IT. Virtual machines are also a common technique used to create emulators, such game console emulators.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS