User:Millosh/Internet and Programming for Linguists/The Big Picture/Computer/History of computing

Lesson
It is difficult to define any one device as the earliest computer. The very definition of a computer has changed and it is therefore impossible to identify the first computer. Many devices once called "computers" would no longer qualify as such by today's standards.

Pre-computer age


Originally, the term "computer" referred to a person who performed numerical calculations (a human computer), often with the aid of a mechanical calculating device. Examples of early mechanical computing devices included the abacus, the slide rule and arguably the astrolabe and the Antikythera mechanism (which dates from about 150-100 BC). The end of the Middle Ages saw a re-invigoration of European mathematics and engineering, and Wilhelm Schickard's 1623 device was the first of a number of mechanical calculators constructed by European engineers.

However, none of those devices fit the modern definition of a computer because they could not be programmed. In 1801, Joseph Marie Jacquard made an improvement to the textile loom that used a series of punched paper cards as a template to allow his loom to weave intricate patterns automatically. The resulting Jacquard loom was an important step in the development of computers because the use of punched cards to define woven patterns can be viewed as an early, albeit limited, form of programmability.

In 1837, Charles Babbage was the first to conceptualize and design a fully programmable mechanical computer that he called "The Analytical Engine". Due to limited finance, and an inability to resist tinkering with the design, Babbage never actually built his analytical engine.

Large-scale automated data processing of punched cards was performed for the US Census in 1890 by tabulating machines designed by Herman Hollerith and manufactured by the Computing Tabulating Recording Corporation, which later became IBM. By the end of the 19th century a number of technologies that would later prove useful in the realization of practical computers had begun to appear: the punched card, boolean algebra, the vacuum tube (thermionic valve) and the teleprinter.

During the first half of the 20th century, many scientific computing needs were met by increasingly sophisticated analog computers, which used a direct mechanical or electrical model of the problem as a basis for computation. However, these were not programmable and generally lacked the versatility and accuracy of modern digital computers.

Early computers
A succession of steadily more powerful and flexible computing devices were constructed in the 1930s and 1940s, gradually adding the key features that are seen in modern computers. The use of digital electronics (largely invented by Claude Shannon in 1937) and more flexible programmability were vitally important steps, but defining one point along this road as "the first digital electronic computer" is difficult. Notable achievements include:


 * Konrad Zuse's electromechanical "Z machines". The Z3 (1941) was the first working machine featuring binary arithmetic, including floating point arithmetic and a measure of programmability. In 1998 the Z3 was proved to be Turing complete, therefore being the world's first operational computer.
 * The Atanasoff-Berry Computer (1941) which used vacuum tube based computation, binary numbers, and regenerative capacitor memory.
 * The secret British Colossus computer (1944), which had limited programmability but demonstrated that a device using thousands of tubes could be reasonably reliable and electronically reprogrammable. It was used for breaking German wartime codes.
 * The Harvard Mark I (1944), a large-scale electromechanical computer with limited programmability.
 * The US Army's Ballistics Research Laboratory ENIAC (1946), which used decimal arithmetic and was the first general purpose electronic computer, although it initially had an inflexible architecture which essentially required rewiring to change its programming.

Several developers of ENIAC, recognizing its flaws, came up with a far more flexible and elegant design, which came to be known as the stored program architecture or von Neumann architecture. This design was first formally described by John von Neumann in the paper "First Draft of a Report on the EDVAC", published in 1945. A number of projects to develop computers based on the stored program architecture commenced around this time, the first of these being completed in Great Britain. The first to be demonstrated working was the Manchester Small-Scale Experimental Machine (SSEM) or "Baby". However, the EDSAC, completed a year after SSEM, was perhaps the first practical implementation of the stored program design. Shortly thereafter, the machine originally described by von Neumann's paper&mdash;EDVAC&mdash;was completed but didn't see full-time use for an additional two years.

Nearly all modern computers implement some form of the stored program architecture, making it the single trait by which the word "computer" is now defined. By this standard, many earlier devices would no longer be called computers by today's definition, but are usually referred to as such in their historical context. While the technologies used in computers have changed dramatically since the first electronic, general-purpose computers of the 1940s, most still use the von Neumann architecture. The design made the universal computer a practical reality.



Toward modern computers
Vacuum tube-based computers were in use throughout the 1950s, but were largely replaced in the 1960s by transistor-based devices, which were smaller, faster, cheaper, used less power and were more reliable. These factors allowed computers to be produced on an unprecedented commercial scale. By the 1970s, the adoption of integrated circuit technology and the subsequent creation of microprocessors such as the Intel 4004 caused another leap in size, speed, cost and reliability. By the 1980s, computers had become sufficiently small and cheap to replace simple mechanical controls in domestic appliances such as washing machines. Around the same time, computers became widely accessible for personal use by individuals in the form of home computers and the now ubiquitous personal computer. In conjunction with the widespread growth of the Internet since the 1990s, personal computers are becoming as common as the television and the telephone and almost all modern electronic devices contain a computer of some kind.

Basic concepts

 * electricity -- Electricity is a general term for the variety of phenomena resulting from the presence and flow of electric charge. Together with magnetism, it constitutes the fundamental interaction known as electromagnetism. It includes many well-known physical phenomena such as lightning, electromagnetic fields and electric currents, and is put to use in industrial applications such as electronics and electric power.


 * electromechanics -- In engineering, electromechanics combines the sciences of electromagnetism of electrical engineering and mechanics. Mechatronics is the discipline of engineering that combines mechanics, electronics and information technology.


 * electronics -- Electronics is the study of the flow of charge through various materials and devices such as, semiconductors, resistors, inductors, capacitors, nano-structures, and vacuum tubes|. All applications of electronics involve the transmission of either information or power. Although considered to be a theoretical branch of physics, the design and construction of electronic circuits to solve practical problems is an essential technique in the fields of electronics engineering and computer engineering.

Basic mathematical and computer science concepts

 * analytical engine -- The analytical engine, an important step in the history of computers, was the design of a mechanical general-purpose computer by the British professor of mathematics Charles Babbage. It was first described in 1837, but Babbage continued to work on the design until his death in 1871. Because of financial, political, and legal issues, the engine was never actually built. In its logical design the machine was essentially modern, anticipating the first completed general-purpose computers by about 100 years.


 * binary numeral system -- The binary numeral system, or base-2 number system, is a numeral system that represents numeric values using two symbols, usually 0 and 1. More specifically, the usual base-2 system is a positional notation with a radix of 2. Owing to its straightforward implementation in electronic circuitry, the binary system is used internally by virtually all modern computers.


 * boolean algebra -- In abstract algebra, a Boolean algebra is an algebraic structure (a collection of elements and operations on them obeying defining axioms) that captures essential properties of both set operations and logic operations. Specifically, it deals with the set operations of intersection, union, complement; and the logic operations of AND, OR, NOT.


 * computation -- Computation is a general term for any type of information processing that can be represented mathematically. This includes phenomena ranging from simple calculations to human thinking. In a more narrow meaning, computation is a process following a well defined model that is understood and can be expressed in an algorithm, protocol, network topology, etc.


 * computer program -- A computer program is a collection of instructions that describes a task, or set of tasks, to be carried out by a computer. More formally, it can be described as an expression of a computational method written in a computer language. Computer programs, also known as software, may be categorized along functional lines. These functional categories include application software, operating systems, video games, and compilers, among others. Computer programs embedded in hardware devices are called firmware.


 * cryptanalysis -- Cryptanalysis is the study of methods for obtaining the meaning of encrypted information, without access to the secret information which is normally required to do so. Typically, this involves finding the secret key. In non-technical language, this is the practice of codebreaking or cracking the code, although these phrases also have a specialised technical meaning (see code).


 * decimal -- The decimal (base ten or occasionally denary) numeral system has ten as its base. It is the most widely used numeral system, perhaps because humans have four fingers and a thumb on each hand, giving a total of ten digits over both hands.


 * Internet -- The Internet is a worldwide, publicly accessible network of interconnected computer networks that transmit data by packet switching using the standard Internet Protocol (IP). It is a "network of networks" that consists of millions of smaller domestic, academic, business, and government networks, which together carry various information and services, such as electronic mail, online chat, file transfer, and the interlinked Web pages and other documents of the World Wide Web.


 * Turing completeness -- In computability theory, an abstract machine or programming language is called Turing complete, Turing equivalent, or (computationally) universal if it has a computational power equivalent to (i.e., capable of emulating) a simplified model of a programmable computer known as the universal Turing machine. Being equivalent to the universal Turing machine essentially means being able to perform any computational task – though it does not mean being able to perform such tasks efficiently, quickly, or easily.


 * von Neumann architecture -- The von Neumann architecture is a computer design model that uses a processing unit and a single separate storage structure to hold both instructions and data. It is named after mathematician and early computer scientist John von Neumann.  Such a computer implements a Universal Turing machine, and the common "referential model" of specifying sequential architectures, in contrast with parallel architectures.  The term "stored-program computer" is generally used to mean a computer of this design.

Types of computers

 * analog computer -- An analog computer (spelled analogue in British English) is a form of computer that uses electrical, mechanical or hydraulic phenomena to model the problem being solved. More generally an analog computer uses one kind of physical quantity to represent the behavior of another physical system, or mathematical function. Modeling a real physical system in a computer is called simulation.


 * personal computer -- A personal computer (PC) is a microcomputer whose price, size, and capabilities make it useful for individuals. The term was popularized by Byte magazine, as well as by Apple Computer with the Apple II in the late-1970s and early-1980s, and afterwards by IBM with the IBM Personal Computer. Personal computers are also known as home computers. Often, the term "personal computer" is used exclusively for computers running a Microsoft Windows operating system, but this is erroneous.  For example, a Macintosh running Mac OS and an IBM PC compatible running Linux are both personal computers. This confusion stems from the fact that the term "PC" is often used as a shorthand form for "IBM PC compatible" and historically Mac OS has run on non-IBM compatible hardware like the PowerPC architecture.


 * home computer -- The home computer is a consumer-friendly word for the second generation of desktop computers, entering the market in 1977 and becoming common during the 1980s. They are also known as personal computers.


 * slide rule -- The slide rule (often nicknamed a "slipstick" ) is a mechanical analog computer, consisting of at least two finely divided scales (rules), most often a fixed outer pair and a movable inner one, with a sliding window called the cursor. The slide rule was used primarily for multiplication and division, and also for "scientific" functions such as roots, logs and trig, but does not generally perform addition or subtraction.

Parts of computers

 * central processing unit (CPU) -- A central processing unit (CPU), or sometimes simply processor, is the component in a digital computer that interprets computer program instructions and processes data. CPUs provide the fundamental digital computer trait of programmability, and are one of the necessary components found in computers of any era, along with primary storage and input/output facilities. A CPU that is manufactured as a single integrated circuit is usually known as a microprocessor. Beginning in the mid-1970s, microprocessors of ever-increasing complexity and power gradually supplanted other designs, and today the term "CPU" is usually applied to some type of microprocessor.


 * integrated circuit -- A monolithic integrated circuit (also known as IC, microcircuit, microchip, silicon chip, or chip) is a miniaturized electronic circuit (consisting mainly of semiconductor devices, as well as passive components) that has been manufactured in the surface of a thin substrate of semiconductor material. A hybrid integrated circuit is a miniaturized electronic circuit constructed of individual semiconductor devices, as well as passive components, bonded to a substrate or circuit board.


 * microprocessors -- A microprocessor is a programmable digital electronic component that incorporates the functions of a central processing unit (CPU) on a single semiconducting integrated circuit (IC). The microprocessor was born by reducing the word size of the CPU from 32 bits to 4 bits, so that the transistors of its logic circuits would fit onto a single part. One or more microprocessors typically serve as the CPU in a computer system, embedded system, or handheld device.


 * punch card --


 * read-only memory (ROM) -- Read-only memory (usually known by its acronym, ROM) is a class of storage media used in computers and other electronic devices. Because data stored in ROM cannot be modified (at least not very quickly or easily), it is mainly used to distribute firmware (software that is very closely tied to specific hardware, and unlikely to require frequent updates). Modern semiconductor ROM chips are not immediately distinguishable from similar chips like RAM modules, except by the part numbers printed on the package.


 * regenerative capacitor memory -- Regenerative capacitor memory is a type of computer memory that uses the electrical property of capacitance to store the bits of data. Because the stored charge slowly leaks away, these memories must be periodically regenerated (i.e. read and rewritten, also called refreshed) to prevent data loss.


 * transistor -- A transistor is a semiconductor device, commonly used as an amplifier or an electrically controlled switch. The transistor is the fundamental building block of the circuitry that governs the operation of computers, cellular phones, and all other modern electronics. Because of its fast response and accuracy, the transistor may be used in a wide variety of digital and analog functions, including amplification, switching, voltage regulation, signal modulation, and oscillators.  Transistors may be packaged individually or as part of an integrated circuit, which may hold millions of transistors in a very small area.


 * vacuum tube -- In electronics, a vacuum tube, electron tube, or (outside North America) thermionic valve or just valve, is a device used to amplify, switch or modify a signal by controlling the movement of electrons in an evacuated space. Vacuum tubes were critical devices in electronics technology, leading to the development and commercialization of such technologies as radio broadcasting, television, radar, high fidelity sound reproduction, telephone, analog and digital computers, and industrial process control.

Devices functionally or technologically similar to computers

 * abacus -- An abacus (plurals abacuses or abaci) is a calculating tool, often constructed as a wooden frame with beads sliding on wires. It was in use centuries before the adoption of the written Hindu-Arabic numeral system and is still widely used by merchants and clerks in China, Japan, Africa and elsewhere.


 * Antikythera mechanism --


 * astrolabe -- The astrolabe is a historical astronomical instrument used by classical astronomers and astrologers. It was the chief navigational instrument until the compass in the 12th century, and the invention of the sextant in the 18th century. Its many uses included locating and predicting the positions of the Sun, Moon, planets and stars; determining local time given local longitude and vice-versa; surveying; and triangulation. Astrologers of the European nations used astrolabes to construct horoscopes. In the Islamic world, they are and were used primarily for astronomical studies, though astrology was often involved there as well.


 * difference engine -- A difference engine is a special-purpose mechanical digital calculator, designed to tabulate polynomial functions. Since logarithmic and trigonometric functions can be approximated by polynomials, such a machine is more general than it appears at first.


 * film stock -- Film stock is the term for photographic film on which motion pictures are shot and reproduced.


 * Jacquard loom --


 * loom --


 * mechanical calculating device is a calculator which is using mechanic (not electric nor electronic) power for calculation. The most known device is abacus, but up to 1960s mechanical calculators are exclusively used. For more details, see the article calculator on English Wikipedia.


 * tabulating machine --


 * telephone -- The telephone is a telecommunications device which is used to transmit and receive sound (most commonly speech). Most telephones operate through transmission of electric signals over a complex telephone network which allows almost any phone user to communicate with almost any other.


 * teleprinter --


 * television -- Television (often abbreviated to TV) is a widely used telecommunication system for broadcasting and receiving moving picture|s and sound over a distance. The term may also be used to refer specifically to a television set, programming or television transmission.

Other concepts

 * human computer -- Before mechanical and electronic computers, the term "computer", in use from the mid 17th century, literally meant "one who computes": a person performing mathematical calculations. Teams of people or human computers were used to undertake long and often tedious calculations. The work was divided so that this could be done in parallel.

Products

 * Atanasoff-Berry Computer --


 * Colossus computer --


 * EDSAC --


 * EDVAC --


 * ENIAC --


 * Harvard Mark I --


 * Intel 4004 --


 * Manchester Small-Scale Experimental Machine --


 * Z3 --

People

 * Charles Babbage --


 * Claude Shannon --


 * John von Neumann --


 * Joseph Marie Jacquard --


 * Konrad Zuse --


 * Herman Hollerith --


 * Wilhelm Schickard --

Institutions and companies

 * Ballistics Research Laboratory --


 * Computing Tabulating Recording Corporation --


 * IBM --

Papers

 * First Draft of a Report on the EDVAC --

Your input

 * Fix errors in this document if it is needed.
 * Find cites for this document wherever they don't exist. Use Wikipedia and other Internet places for finding other resources.
 * If you are interested in this matter, collaborate in effort to make a wikibook History of computing.
 * Talk about this article.