Saturday, April 09, 2011

HISTORY OF THE COMPUTER














INTRODUCTION
The word ‘computer’ is an old word that has changed its meaning several times in the last
few centuries. Originating from the Latin, by the mid-17th century it meant ‘someone who
computes’. The American Heritage Dictionary (1980) gives its first computer definition as “a
person who computes.” The computer remained associated with human activity until about
the middle of the 20th century when it became applied to “a programmable electronic device
that can store, retrieve, and process data” as Webster’s Dictionary (1980) defines it. Today,
the word computer refers to computing devices, whether or not they are electronic,
programmable, or capable of ‘storing and retrieving’ data.
The Techencyclopedia (2003) defines computer as “a general purpose machine that processes
data according to a set of instructions that are stored internally either temporarily or
permanently.” The computer and all equipment attached to it are called hardware. The
instructions that tell it what to do are called "software" or “program”. A program is a detailed
set of humanly prepared instructions that directs the computer to function in specific ways.
Furthermore, the Encyclopedia Britannica (2003) defines computers as “the contribution of
major individuals, machines, and ideas to the development of computing.” This implies that
2
the computer is a system. A system is a group of computer components that work together as
a unit to perform a common objective.
The term ‘history’ means past events. The encyclopedia Britannica (2003) defines it as “the
discipline that studies the chronological record of events (as affecting a nation or people),
based on a critical examination of source materials and usually presenting an explanation of
their causes.” The Oxford Advanced Learner’s Dictionary (1995) simply defines history as
“the study of past events.…” In discussing the history of computers, chronological record of
events – particularly in the area of technological development – will be explained. History of
computer in the area of technological development is being considered because it is usually
the technological advancement in computers that brings about economic and social
advancement. A faster computer brings about faster operation and that in turn causes an
economic development. This paper will discuss classes of computers, computer evolution
and highlight some roles played by individuals in these developments.
CLASSIFICATION OF COMPUTERS
Computing machines can be classified in many ways and these classifications depend on their
functions and definitions. They can be classified by the technology from which they were
constructed, the uses to which they are put, their capacity or size, the era in which they were
used, their basic operating principle and by the kinds of data they process. Some of these
classification techniques are discussed as follows:
Classification by Technology
This classification is a historical one and it is based on what performs the computer operation,
or the technology behind the computing skill.
3
I FLESH: Before the advent of any kind of computing device at all, human beings
performed computation by themselves. This involved the use of fingers, toes and any
other part of the body.
II WOOD: Wood became a computing device when it was first used to design the
abacus. Shickard in 1621 and Polini in 1709 were both instrumental to this
development.
III METALS: Metals were used in the early machines of Pascal, Thomas, and the
production versions from firms such as Brundsviga, Monroe, etc
IV ELECTROMECHANICAL DEVICES: As differential analyzers, these were present
in the early machines of Zuse, Aiken, Stibitz and many others
V ELECTRONIC ELEMENTS: These were used in the Colossus, ABC, ENIAC, and
the stored program computers.
This classification really does not apply to developments in the last sixty years because
several kinds of new electro technological devices have been used thereafter.
Classification by Capacity
Computers can be classified according to their capacity. The term ‘capacity’ refers to the
volume of work or the data processing capability a computer can handle. Their performance
is determined by the amount of data that can be stored in memory, speed of internal operation
of the computer, number and type of peripheral devices, amount and type of software
available for use with the computer.
The capacity of early generation computers was determined by their physical size - the larger
the size, the greater the volume. Recent computer technology however is tending to create
smaller machines, making it possible to package equivalent speed and capacity in a smaller
format. Computer capacity is currently measured by the number of applications that it can
4
run rather than by the volume of data it can process. This classification is therefore done as
follows:
I MICROCOMPUTERS
The Microcomputer has the lowest level capacity. The machine has memories that are
generally made of semiconductors fabricated on silicon chips. Large-scale production of
silicon chips began in 1971 and this has been of great use in the production of
microcomputers. The microcomputer is a digital computer system that is controlled by a
stored program that uses a microprocessor, a programmable read-only memory (ROM) and a
random-access memory (RAM). The ROM defines the instructions to be executed by the
computer while RAM is the functional equivalent of computer memory.
The Apple IIe, the Radio Shack TRS-80, and the Genie III are examples of microcomputers
and are essentially fourth generation devices. Microcomputers have from 4k to 64k storage
location and are capable of handling small, single-business application such as sales analysis,
inventory, billing and payroll.
II MINICOMPUTERS
In the 1960s, the growing demand for a smaller stand-alone machine brought about the
manufacture of the minicomputer, to handle tasks that large computers could not perform
economically. Minicomputer systems provide faster operating speeds and larger storage
capacities than microcomputer systems. Operating systems developed for minicomputer
systems generally support both multiprogramming and virtual storage. This means that many
programs can be run concurrently. This type of computer system is very flexible and can be
expanded to meet the needs of users.
5
Minicomputers usually have from 8k to 256k memory storage location, and a relatively
established application software. The PDP-8, the IBM systems 3 and the Honeywell 200 and
1200 computer are typical examples of minicomputers.
III MEDIUM-SIZE COMPUTERS
Medium-size computer systems provide faster operating speeds and larger storage capacities
than mini computer systems. They can support a large number of high-speed input/output
devices and several disk drives can be used to provide online access to large data files as
required for direct access processing and their operating systems also support both
multiprogramming and virtual storage. This allows the running of variety of programs
concurrently. A medium-size computer can support a management information system and
can therefore serve the needs of a large bank, insurance company or university. They usually
have memory sizes ranging from 32k to 512k. The IBM System 370, Burroughs 3500
are examples of medium-size computers.
IV LARGE COMPUTERS
Large computers are next to Super Computers and have bigger capacity than the Mediumsize
computers. They usually contain full control systems with minimal operator
intervention. Large computer system ranges from single-processing configurations to
nationwide computer-based networks involving general large computers. Large computers
have storage capacities from 512k to 8192k, and these computers have internal operating
speeds measured in terms of nanosecond, as compared to small computers where speed is
measured in terms of microseconds. Expandability to 8 or even 16 million characters is
possible with some of these systems. Such characteristics permit many data processing jobs
to be accomplished concurrently.
6
Large computers are usually used in government agencies, large corporations and computer
services organizations. They are used in complex modeling, or simulation, business
operations, product testing, design and engineering work and in the development of space
technology. Large computers can serve as server systems where many smaller computers can
be connected to it to form a communication network.
V SUPERCOMPUTERS
The supercomputers are the biggest and fastest machines today and they are used when
billion or even trillions of calculations are required. These machines are applied in nuclear
weapon development, accurate weather forecasting and as host processors for local computer.
and time sharing networks. Super computers have capabilities far beyond even the traditional
large-scale systems. Their speed ranges from 100 million-instruction-per-second to well over
three billion. Because of their size, supercomputers sacrifice a certain amount of flexibility.
They are therefore not ideal for providing a variety of user services. For this reason,
supercomputers may need the assistance of a medium-size general purpose machines (usually
called front-end processor) to handle minor programs or perform slower speed or smaller
volume operation.
Classification by their basic operating principle
Using this classification technique, computers can be divided into Analog, Digital and Hybrid
systems. They are explained as follows:
I ANALOG COMPUTERS
Analog computers were well known in the 1940s although they are now uncommon. In such
machines, numbers to be used in some calculation were represented by physical quantities -
such as electrical voltages. According to the Penguin Dictionary of Computers (1970), “an
analog computer must be able to accept inputs which vary with respect to time and directly
7
apply these inputs to various devices within the computer which performs the computing
operations of additions, subtraction, multiplication, division, integration and function
generation….” The computing units of analog computers respond immediately to the
changes which they detect in the input variables. Analog computers excel in solving
differential equations and are faster than digital computers.
II DIGITAL COMPUTERS
Most computers today are digital. They represent information discretely and use a binary
(two-step) system that represents each piece of information as a series of zeroes and ones.
The Pocket Webster School & Office Dictionary (1990) simply defines Digital computers as
“a computer using numbers in calculating.” Digital computers manipulate most data more
easily than analog computers. They are designed to process data in numerical form and their
circuits perform directly the mathematical operations of addition, subtraction, multiplication,
and division. Because digital information is discrete, it can be copied exactly but it is
difficult to make exact copies of analog information.
III HYBRID COMPUTERS
These are machines that can work as both analog and digital computers.
THE COMPUTER EVOLUTION
The computer evolution is indeed an interesting topic that has been explained in some
different ways over the years, by many authors. According to The Computational Science
Education Project, US, the computer has evolved through the following stages:
The Mechanical Era (1623-1945)
Trying to use machines to solve mathematical problems can be traced to the early 17th
century. Wilhelm Schickhard, Blaise Pascal, and Gottfried Leibnitz were among
8
mathematicians who designed and implemented calculators that were capable of addition,
subtraction, multiplication, and division included The first multi-purpose or programmable
computing device was probably Charles Babbage's Difference Engine, which was begun in
1823 but never completed. In 1842, Babbage designed a more ambitious machine, called the
Analytical Engine but unfortunately it also was only partially completed. Babbage, together
with Ada Lovelace recognized several important programming techniques, including
conditional branches, iterative loops and index variables. Babbage designed the machine
which is arguably the first to be used in computational science. In 1933, George Scheutz and
his son, Edvard began work on a smaller version of the difference engine and by 1853 they
had constructed a machine that could process 15-digit numbers and calculate fourth-order
differences. The US Census Bureau was one of the first organizations to use the mechanical
computers which used punch-card equipment designed by Herman Hollerith to tabulate data
for the 1890 census. In 1911 Hollerith's company merged with a competitor to found the
corporation which in 1924 became International Business Machines (IBM).
First Generation Electronic Computers (1937-1953)
These devices used electronic switches, in the form of vacuum tubes, instead of
electromechanical relays. The earliest attempt to build an electronic computer was by J. V.
Atanasoff, a professor of physics and mathematics at Iowa State in 1937. Atanasoff set out to
build a machine that would help his graduate students solve systems of partial differential
equations. By 1941 he and graduate student Clifford Berry had succeeded in building a
machine that could solve 29 simultaneous equations with 29 unknowns. However, the
machine was not programmable, and was more of an electronic calculator.
A second early electronic machine was Colossus, designed by Alan Turing for the British
military in 1943. The first general purpose programmable electronic computer was the
9
Electronic Numerical Integrator and Computer (ENIAC), built by J. Presper Eckert and John
V. Mauchly at the University of Pennsylvania. Research work began in 1943, funded by the
Army Ordinance Department, which needed a way to compute ballistics during World War
II. The machine was completed in 1945 and it was used extensively for calculations during
the design of the hydrogen bomb. Eckert, Mauchly, and John von Neumann, a consultant to
the ENIAC project, began work on a new machine before ENIAC was finished. The main
contribution of EDVAC, their new project, was the notion of a stored program. ENIAC was
controlled by a set of external switches and dials; to change the program required physically
altering the settings on these controls. EDVAC was able to run orders of magnitude faster
than ENIAC and by storing instructions in the same medium as data, designers could
concentrate on improving the internal structure of the machine without worrying about
matching it to the speed of an external control. Eckert and Mauchly later designed what was
arguably the first commercially successful computer, the UNIVAC; in 1952. Software
technology during this period was very primitive.
Second Generation (1954-1962)
The second generation witnessed several important developments at all levels of computer
system design, ranging from the technology used to build the basic circuits to the
programming languages used to write scientific applications. Electronic switches in this era
were based on discrete diode and transistor technology with a switching time of
approximately 0.3 microseconds. The first machines to be built with this technology include
TRADIC at Bell Laboratories in 1954 and TX-0 at MIT's Lincoln Laboratory. Index
registers were designed for controlling loops and floating point units for calculations based
on real numbers.
10
A number of high level programming languages were introduced and these include
FORTRAN (1956), ALGOL (1958), and COBOL (1959). Important commercial machines of
this era include the IBM 704 and its successors, the 709 and 7094. In the 1950s the first two
supercomputers were designed specifically for numeric processing in scientific applications.
Third Generation (1963-1972)
Technology changes in this generation include the use of integrated circuits, or ICs
(semiconductor devices with several transistors built into one physical component),
semiconductor memories, microprogramming as a technique for efficiently designing
complex processors and the introduction of operating systems and time-sharing. The first ICs
were based on small-scale integration (SSI) circuits, which had around 10 devices per circuit
(or ‘chip’), and evolved to the use of medium-scale integrated (MSI) circuits, which had up to
100 devices per chip. Multilayered printed circuits were developed and core memory was
replaced by faster, solid state memories.
In 1964, Seymour Cray developed the CDC 6600, which was the first architecture to use
functional parallelism. By using 10 separate functional units that could operate
simultaneously and 32 independent memory banks, the CDC 6600 was able to attain a
computation rate of one million floating point operations per second (Mflops). Five years
later CDC released the 7600, also developed by Seymour Cray. The CDC 7600, with its
pipelined functional units, is considered to be the first vector processor and was capable of
executing at ten Mflops. The IBM 360/91, released during the same period, was roughly
twice as fast as the CDC 660.
Early in this third generation, Cambridge University and the University of London
cooperated in the development of CPL (Combined Programming Language, 1963). CPL was,
according to its authors, an attempt to capture only the important features of the complicated
11
and sophisticated ALGOL. However, like ALGOL, CPL was large with many features that
were hard to learn. In an attempt at further simplification, Martin Richards of Cambridge
developed a subset of CPL called BCPL (Basic Computer Programming Language, 1967). In
1970 Ken Thompson of Bell Labs developed yet another simplification of CPL called simply
B, in connection with an early implementation of the UNIX operating system. comment):
Fourth Generation (1972-1984)
Large scale integration (LSI - 1000 devices per chip) and very large scale integration (VLSI -
100,000 devices per chip) were used in the construction of the fourth generation computers.
Whole processors could now fit onto a single chip, and for simple systems the entire
computer (processor, main memory, and I/O controllers) could fit on one chip. Gate delays
dropped to about 1ns per gate. Core memories were replaced by semiconductor memories.
Large main memories like CRAY 2 began to replace the older high speed vector processors,
such as the CRAY 1, CRAY X-MP and CYBER
In 1972, Dennis Ritchie developed the C language from the design of the CPL and
Thompson's B. Thompson and Ritchie then used C to write a version of UNIX for the DEC
PDP-11. Other developments in software include very high level languages such as FP
(functional programming) and Prolog (programming in logic).
IBM worked with Microsoft during the 1980s to start what we can really call PC (Personal
Computer) life today. IBM PC was introduced in October 1981 and it worked with the
operating system (software) called ‘Microsoft Disk Operating System (MS DOS) 1.0.
Development of MS DOS began in October 1980 when IBM began searching the market for
an operating system for the then proposed IBM PC and major contributors were Bill Gates,
Paul Allen and Tim Paterson. In 1983, the Microsoft Windows was announced and this has
witnessed several improvements and revision over the last twenty years.
12
Fifth Generation (1984-1990)
This generation brought about the introduction of machines with hundreds of processors that
could all be working on different parts of a single program. The scale of integration in
semiconductors continued at a great pace and by 1990 it was possible to build chips with a
million components - and semiconductor memories became standard on all computers.
Computer networks and single-user workstations also became popular.
Parallel processing started in this generation. The Sequent Balance 8000 connected up to 20
processors to a single shared memory module though each processor had its own local cache.
The machine was designed to compete with the DEC VAX-780 as a general purpose Unix
system, with each processor working on a different user's job. However Sequent provided a
library of subroutines that would allow programmers to write programs that would use more
than one processor, and the machine was widely used to explore parallel algorithms and
programming techniques. The Intel iPSC-1, also known as ‘the hypercube’ connected each
processor to its own memory and used a network interface to connect processors. This
distributed memory architecture meant memory was no longer a problem and large systems
with more processors (as many as 128) could be built. Also introduced was a machine,
known as a data-parallel or SIMD where there were several thousand very simple processors
which work under the direction of a single control unit. Both wide area network (WAN) and
local area network (LAN) technology developed rapidly.
Sixth Generation (1990 - )
Most of the developments in computer systems since 1990 have not been fundamental
changes but have been gradual improvements over established systems. This generation
brought about gains in parallel computing in both the hardware and in improved
understanding of how to develop algorithms to exploit parallel architectures.
13
Workstation technology continued to improve, with processor designs now using a
combination of RISC, pipelining, and parallel processing. Wide area networks, network
bandwidth and speed of operation and networking capabilities have kept developing
tremendously. Personal computers (PCs) now operate with Gigabit per second processors,
multi-Gigabyte disks, hundreds of Mbytes of RAM, colour printers, high-resolution graphic
monitors, stereo sound cards and graphical user interfaces. Thousands of software (operating
systems and application software) are existing today and Microsoft Inc. has been a major
contributor. Microsoft is said to be one of the biggest companies ever, and its chairman –
Bill Gates has been rated as the richest man for several years.
Finally, this generation has brought about micro controller technology. Micro controllers are
’embedded’ inside some other devices (often consumer products) so that they can control the
features or actions of the product. They work as small computers inside devices and now
serve as essential components in most machines.
THE ACTIVE PLAYERS
Hundreds of people from different parts of the world played prominent roles in the history of
computer. This section highlights some of those roles as played in several parts of the world.
The American Participation
America indeed played big roles in the history of computer. John Atanasoff invented the
Atanasoff-Berry Computer (ABC) which introduced electronic binary logic in the late 1930s.
Atanasoff and Berry completed the computer by 1942, but it was later dismantled.
Howard Aiken is regarded as one of the pioneers who introduced the computer age and he
completed the design of four calculators (or computers). Aiken started what is known as
computer science today and was one of the first explorers of the application of the new
14
machines to business purposes and machine translation of foreign languages. His first
machine was known as Mark I (or the Harvard Mark I), and originally named the IBM ASCC
and this was the first machine that could solve complicated mathematical problems by being
programmed to execute a series of controlled operations in a specific sequence.
The ENIAC (Electronic Numerical Integrator and Computer) was displayed to the public on
February 14, 1946, at the Moore School of Electrical Engineering at the University of
Pennsylvania and about fifty years after, a team of students and faculty started the
reconstruction of the ENIAC and this was done, using state-of-the-art solid-state CMOS
technology.
The German Participation
The DEHOMAG D11 tabulator was invented in Germany. It had a decisive influence on the
diffusion of punched card data processing in Germany. The invention took place between the
period of 1926 and 1931.
Korad Zuse is popularly recognized in Germany as the father of the computer and his Z1, a
programmable automaton built from 1936 to 1938, is said to be the world’s ‘first
programmable calculating machine’. He built the Z4, a relay computer with a mechanical
memory of unique design, during the war years in Berlin. Eduard Stiefel, a professor at the
Swiss Federal Institute of Technology (ETH), who was looking for a computer suitable for
numerical analysis, discovered the machine in Bavaria in 1949. Around 1938, Konrad Zuse
began work on the creation of the Plankalkul, while working on the Z3. He wanted to build a
Planfertigungsgerat, and made some progress in this direction in 1943 and in 1944, he
prepared a draft of the Plankalkul, which was meant to become a doctoral dissertation some
day. The Plankalkul is the first fully-fledged algorithmic programming language. Years
later, a small group under the direction of Dr. Heinz Billing constructed four different
15
computers, the G1 (1952), the G2 (1955), the Gla (1958) and the G3 (1961), at the Max
Planck Institute in Gottingen.
Lastly, during the World war II, a young German engineer, Helmut Hoelzer studied the
application of electronic analog circuits for the guidance and control system of liquidpropellant
rockets and developed a special purpose analog computer, the ‘Mischgerat’ and
integrated it into the rocket. The development of the fully electronic, general purpose, analog
computer was a spin-off of this work. It was used to simulate ballistic paths by solving the
equations of motion.
The British Participation
The Colossus was designed and constructed at the Post Office Research Laboratories at
Dollis Hill in North London in 1943 to help Bletchley Park in decoding intercepted German
telegraphic messages. Colossus was the world’s first large electronic valve programmable
logic calculator and ten of them were built and were operational in Bletchley Park, home of
Allied World War II code-breaking.
Between 1948 and 1951, four related computers were designed and constructed in
Manchester and each machine has its innovative peculiarity. The SSEM (June 1948) was the
first such machine to work. The Manchester Mark 1 (Intermediate Version, April 1949) was
the first full-sized computer available for use. The completed Manchester Mark 1 (October
1949), with a fast random access magnetic drum, was the first computer with a classic twolevel
store. The Ferranti Mark 1 (February 1951) was the first production computer delivered
by a manufacturer. The University of Manchester Small-Scale Experimental Machine, the
‘Baby’ first ran a stored program on June 21, 1948, thus claiming to be the first operational
general purpose computer. The Atlas computer was constructed in the Department of
Computer Science at the University of Manchester. After its completion in December 1962,
16
it was regarded as the most powerful computer in the world and it had many innovative
design features of which the most important were the implementation of virtual addressing
and the one-level store.
The Japanese Participation
In the second half of the 1950s, many experimental computers were designed and produced
by Japanese national laboratories, universities and private companies. In those days, many
experiments were carried out using various electronic and mechanical techniques and
materials such as relays, vacuum tubes, parametrons, transistors, mercury delay lines, cathode
ray tubes, magnetic cores and magnetic drums. These provided a great foundation for the
development of electronics in Japan. Between the periods of 1955 and 1959, computers like
ETL-Mark 2, JUJIC, MUSASINO I, ETL-Mark-4, PC-1, ETL-Mark-4a, TAC, Handai-
Computer and K-1 were built.
The African Participation
Africa evidently did not play any major roles in the recorded history of computer, but indeed
it has played big roles in the last few decades. Particularly worthy of mention is the
contribution of a Nigerian who made a mark just before the end of the twentieth century.
Former American President – Bill Clinton (2000) said “One of the great minds of the
Information Age is a Nigerian American named Philip Emeagwali. He had to leave school
because his parents couldn't pay the fees. He lived in a refugee camp during your civil war.
He won a scholarship to university and went on to invent a formula that lets computers make
3.1 billion calculations per second….”
Philip Emeagwali, supercomputer and Internet pioneer, was born in 1954, in Nigeria, Africa.
In 1989, he invented the formula that used 65,000 separate computer processors to perform
3.1 billion calculations per second. Emeagwali is regarded as one of the fathers of the
17
internet because he invented an international network which is similar to, but predates that of
the Internet. He also discovered mathematical equations that enable the petroleum industry to
recover more oil. Emeagwali won the 1989 Gordon Bell Prize, computation's Nobel prize, for
inventing a formula that lets computers perform the fastest computations, a work that led to
the reinvention of supercomputers.
SUMMARY, CONCLUSION AND RECOMMENDATION
Researching, studying and writing on ‘History of the Computer’ has indeed been a fulfilling,
but challenging task and has brought about greater appreciation of several work done by
scientists of old, great developmental research carried out by more recent scientists and of
course the impact all such innovations have made on the development of the human race. It
has generated greater awareness of the need to study history of the computer as a means of
knowing how to develop or improve on existing computer technology.
It is therefore strongly recommended that science and engineering students should develop
greater interest in the history of their profession. The saying that ‘there is nothing absolutely
new under the sun’ is indeed real because the same world resources but fresh ideas have been
used over the years to improve on existing technologies.
Finally, it is hoped that this paper is found suitable as a good summary of ‘the technological
history and development of computer’ and challenging to upcoming scientists and engineers
to study the history of their profession.