The earliest known tool for use in computation was the abacus, developed in the period between 2700–2300 BCE in Sumer .[citation needed] The Sumerians' abacus consisted of a table of successive columns which delimited the successive orders of magnitude of their sexagesimal number system.[2]:11 Its original style of usage was by lines drawn in sand with pebbles .[citation needed] Abaci of a more modern design are still used as calculation tools today.[3]
The Antikythera mechanism is believed to be the earliest known mechanical analog computer.[4] It was designed to calculate astronomical positions. It was discovered in 1901 in the Antikythera wreck off the Greek island of Antikythera, between Kythera and Crete, and has been dated to c. 100 BCE. Technological artifacts of similar complexity did not reappear until the 14th century, when mechanical astronomical clocks appeared in Europe.[5]
When John Napier discovered logarithms for computational purposes in the early 17th century,[citation needed] there followed a period of considerable progress by inventors and scientists in making calculating tools. In 1623 Wilhelm Schickard designed a calculating machine, but abandoned the project, when the prototype he had started building was destroyed by a fire in 1624 .[citation needed] Around 1640, Blaise Pascal, a leading French mathematician, constructed a mechanical adding device based on a design described by Greek mathematician Hero of Alexandria.[6] Then in 1672 Gottfried Wilhelm Leibnitz invented the Stepped Reckoner which he completed in 1694.[7]
In 1837 Charles Babbage first described his Analytical Engine which is accepted as the first design for a modern computer. The analytical engine had expandable memory, an arithmetic unit, and logic processing capabilities able to interpret a programming language with loops and conditional branching. Although never built, the design has been studied extensively and is understood to be Turing equivalent. The analytical engine would have had a memory capacity of less than 1 kilobyte of memory and a clock speed of less than 10 Hertz .[citation needed]
Considerable advancement in mathematics and electronics theory was required before the first modern computers could be designed.[citation needed]
Contents
Binary logic
In 1703, Gottfried Wilhelm Leibnitz developed logic in a formal, mathematical sense with his writings on the binary numeral system. In his system, the ones and zeros also represent true and false values or on and off states. But it took more than a century before George Boole published his Boolean algebra in 1854 with a complete system that allowed computational processes to be mathematically modeled .[8]By this time, the first mechanical devices driven by a binary pattern had been invented. The industrial revolution had driven forward the mechanization of many tasks, and this included weaving. Punched cards controlled Joseph Marie Jacquard's loom in 1801, where a hole punched in the card indicated a binary one and an unpunched spot indicated a binary zero. Jacquard's loom was far from being a computer, but it did illustrate that machines could be driven by binary systems .[8]
Birth of the computer
Before the 1920s, computers (sometimes computors) were human clerks that performed computations. They were usually under the lead of a physicist. Many thousands of computers were employed in commerce, government, and research establishments. Most of these computers were women.[citation needed] Some performed astronomical calculations for calendars, others ballistic tables for the military.After the 1920s, the expression computing machine referred to any machine that performed the work of a human computer, especially those in accordance with effective methods of the Church-Turing thesis. The thesis states that a mathematical method is effective if it could be set out as a list of instructions able to be followed by a human clerk with paper and pencil, for as long as necessary, and without ingenuity or insight .[citation needed]
Machines that computed with continuous values became known as the analog kind. They used machinery that represented continuous numeric quantities, like the angle of a shaft rotation or difference in electrical potential .[citation needed]
Digital machinery, in contrast to analog, were able to render a state of a numeric value and store each individual digit. Digital machinery used difference engines or relays before the invention of faster memory devices .[citation needed]
The phrase computing machine gradually gave away, after the late 1940s, to just computer as the onset of electronic digital machinery became common. These computers were able to perform the calculations that were performed by the previous human clerks .[citation needed]
Since the values stored by digital machines were not bound to physical properties like analog devices, a logical computer, based on digital equipment, was able to do anything that could be described "purely mechanical." The theoretical Turing Machine, created by Alan Turing, is a hypothetical device theorized in order to study the properties of such hardware.[citation needed]
Emergence of a discipline
Charles Babbage and Ada Lovelace
Main articles: Charles Babbage and Ada Lovelace
Charles Babbage
is often regarded as one of the first pioneers of computing. Beginning
in the 1810s, Babbage had a vision of mechanically computing numbers and
tables. Putting this into reality, Babbage designed a calculator to
compute numbers up to 8 decimal points long. Continuing with the success
of this idea, Babbage worked to develop a machine that could compute
numbers with up to 20 decimal places. By the 1830s, Babbage had devised a
plan to develop a machine that could use punched cards to perform
arithmetical operations. The machine would store numbers in memory
units, and there would be a form of sequential control. This means that
one operation would be carried out before another in such a way that the
machine would produce an answer and not fail. This machine was to be
known as the “Analytical Engine”, which was the first true
representation of what is the modern computer.[9]Ada Lovelace (Augusta Ada Byron) is credited as the pioneer of computer programming and is regarded as a mathematical genius, a result of the mathematically heavy tutoring regimen her mother assigned to her as a young girl. Lovelace began working with Charles Babbage as an assistant while Babbage was working on his “Analytical Engine”, the first mechanical computer. During her work with Babbage, Ada Lovelace became the designer of the first computer algorithm, which had the ability to compute Bernoulli numbers. Moreover, Lovelace’s work with Babbage resulted in her prediction of future computers to not only perform mathematical calculations, but also manipulate symbols, mathematical or not. While she was never able to see the results of her work, as the “Analytical Engine” was not created in her lifetime, her efforts in later years, beginning in the 1940s, did not go unnoticed.[10]
฿===Alan Turing and the Turing machine===
Main articles: Alan Turing and Turing machine
The mathematical foundations of modern computer science began to be laid by Kurt Gödel with his incompleteness theorem (1931). In this theorem, he showed that there were limits to what could be proved and disproved within a formal system. This led to work by Gödel and others to define and describe these formal systems, including concepts such as mu-recursive functions and lambda-definable functions.[citation needed]In 1936 Alan Turing and Alonzo Church independently, and also together, introduced the formalization of an algorithm, with limits on what can be computed, and a "purely mechanical" model for computing.[citation needed] This became the Church–Turing thesis, a hypothesis about the nature of mechanical calculation devices, such as electronic computers. The thesis claims that any calculation that is possible can be performed by an algorithm running on a computer, provided that sufficient time and storage space are available.[citation needed]
In 1937, Alan Turing introduced his idea of what are now referred to as Turing machines. Anticipating the modern stored program computer, he described what became known as the Universal Turing machine. These hypothetical machines were designed to formally determine, mathematically, what can be computed, taking into account limitations on computing ability. If a Turing machine can complete the task, it is considered Turing computable.[11]
Early computer hardware
In 1941, Konrad Zuse developed the world's first functional program-controlled computer, the Z3. in 1998, it was shown to be Turing-complete in principle.[12][13] Zuse also developed the S2 computing machine, considered the first process-controlled computer. He founded one of the earliest computer businesses in 1941, producing the Z4, which became the world's first commercial computer. In 1946, he designed the first high-level programming language, Plankalkül.[14]In 1948, the first practical computer that could run stored programs, based on the Turing machine model, had been built - the Manchester Baby.[citation needed]
In 1950, Britain's National Physical Laboratory completed Pilot ACE, a small scale programmable computer, based on Turing's philosophy .[15]
Shannon and information theory
Up to and during the 1930s, electrical engineers were able to build electronic circuits to solve mathematical and logic problems, but most did so in an ad hoc manner, lacking any theoretical rigor. This changed with Claude Elwood Shannon's publication of his 1937 master's thesis, A Symbolic Analysis of Relay and Switching Circuits. While taking an undergraduate philosophy class, Shannon had been exposed to Boole's work, and recognized that it could be used to arrange electromechanical relays (then used in telephone routing switches) to solve logic problems. This concept, of utilizing the properties of electrical switches to do logic, is the basic concept that underlies all electronic digital computers, and his thesis became the foundation of practical digital circuit design when it became widely known among the electrical engineering community during and after World War II .[citation needed]Shannon went on to found the field of information theory with his 1948 paper titled A Mathematical Theory of Communication, which applied probability theory to the problem of how to best encode the information a sender wants to transmit. This work is one of the theoretical foundations for many areas of study, including data compression and cryptography .[citation needed]
Wiener and cybernetics
From experiments with anti-aircraft systems that interpreted radar images to detect enemy planes, Norbert Wiener coined the term cybernetics from the Greek word for "steersman." He published "Cybernetics" in 1948, which influenced artificial intelligence. Wiener also compared computation, computing machinery, memory devices, and other cognitive similarities with his analysis of brain waves .[citation needed]The first actual computer bug was a moth. It was stuck in between the relays on the Harvard Mark II.[1] While the invention of the term 'bug' is often but erroneously attributed to Grace Hopper, a future rear admiral in the U.S. Navy, who supposedly logged the "bug" on September 9, 1945, most other accounts conflict at least with these details. According to these accounts, the actual date was September 9, 1947 when operators filed this 'incident' — along with the insect and the notation "First actual case of bug being found" (see software bug for details) .[citation needed]
John von Neumann and the von Neumann architecture
Main articles: John von Neumann and Von Neumann architecture
In 1946, a model for computer architecture was introduced and became known as Von Neumann architecture.
Since 1950, the von Neumann model provided uniformity in subsequent
computer designs. The von Neumann architecture was considered innovative
as it introduced an idea of allowing machine instructions and data to
share memory space.[citation needed]
The von Neumann model is composed of three major parts, the arithmetic
logic unit (ALU), the memory, and the instruction processing unit (IPU).
In von Neumann machine design, the IPU passes addresses to memory, and
memory, in turn, is routed either back to the IPU if an instruction is
being fetched or to the ALU if data is being fetched.[16]Von Neumann’s machine design uses a RISC (Reduced instruction set computing) architecture,[dubious ] which means the instruction set uses a total of 21 instructions to perform all tasks. (This is in contrast to CISC, complex instruction set computing, instruction sets which have more instructions from which to choose.) With von Neumann architecture, main memory along with the accumulator (the register that holds the result of logical operations)[17] are the two memories that are addressed. Operations can be carried out as simple arithmetic (these are performed by the ALU and include addition, subtraction, multiplication and division), conditional branches (these are more commonly seen now as
if statements or while loops. The branches serve as go to
statements), and logical moves between the different components of the
machine, i.e., a move from the accumulator to memory or vice versa. Von
Neumann architecture accepts fractions and instructions as data types.
Finally, as the von Neumann architecture is a simple one, its register
management is also simple. The architecture uses a set of seven
registers to manipulate and interpret fetched data and instructions.
These registers include the "IR" (instruction register), "IBR"
(instruction buffer register), "MQ" (multiplier quotient register),
"MAR" (memory address register), and "MDR" (memory data register)."[16] The architecture also uses a program counter ("PC") to keep track of where in the program the machine is.[16]See also
- Computer Museum
- History of computing
- History of computing hardware
- History of software
- List of computer term etymologies, the origins of computer science words
- List of prominent pioneers in computer science
- Timeline of algorithms
- History of personal computers
References
- "Accumlator" Def. 3. Oxford Dictionaries.
Further reading
- Ceruzzi, Paul E. (1998). A History of a Modern Computing. The MIT Press. ISBN 978-0-262-03255-1.
- Tedre, Matti (2014). The Science of Computing: Shaping a Discipline. Taylor and Francis / CRC Press. ISBN 978-1482217698.
External links
- The Modern History of Computing entry by B. Jack Copeland in the Stanford Encyclopedia of Philosophy
- Computer History Museum
- Computers: From the Past to the Present
- The First "Computer Bug" at the Online Library of the Naval Historical Center, retrieved February 28, 2006
- Bitsavers, an effort to capture, salvage, and archive historical computer software and manuals from minicomputers and mainframes of the 1950s, 1960s, 1970s, and 1980s
- The Development of Computer Science: A Sociocultural Perspective Matti Tedre's Ph.D. Thesis, University of Joensuu (2006)
- Oral history links
- Oral history interview with Albert H. Bowker at Charles Babbage Institute, University of Minnesota. Bowker discusses his role in the formation of the Stanford University computer science department, and his vision, as early as 1956, of computer science as an academic discipline.
- Oral history interview with Joseph F. Traub at Charles Babbage Institute, University of Minnesota. Traub discusses why computer science has developed as a discipline at institutions including Stanford, Berkeley, University of Pennsylvania, MIT, and Carnegie-Mellon.
- Oral history interview with Gene H. Golub at Charles Babbage Institute, University of Minnesota. Golub discusses his career in computer science at Stanford University.
- Oral history interview with John Herriot at Charles Babbage Institute, University of Minnesota. Herriot describes the early years of computing at Stanford University, including formation of the computer science department, centering on the role of George Forsythe.
- Oral history interview with William F. Miller at Charles Babbage Institute, University of Minnesota. Miller contrasts the emergence of computer science at Stanford with developments at Harvard and the University of Pennsylvania.
- Oral history interview with Alexandra Forsythe at Charles Babbage Institute, University of Minnesota. Forsythe discusses the career of her husband, George Forsythe, who established Stanford University's program in computer science.
- Oral history interview with Allen Newell at Charles Babbage Institute, University of Minnesota. Newell discusses his entry into computer science, funding for computer science departments and research, the development of the Computer Science Department at Carnegie Mellon University, including the work of Alan J. Perlis and Raj Reddy, and the growth of the computer science and artificial intelligence research communities. Compares computer science programs at Stanford, MIT, and Carnegie Mellon.
- Oral history interview with Louis Fein at Charles Babbage Institute, University of Minnesota. Fein discusses establishing computer science as an academic discipline at Stanford Research Institute (SRI) as well as contacts with the University of California—Berkeley, the University of North Carolina, Purdue, International Federation for Information Processing and other institutions.
- Oral history interview with W. Richards Adrion at Charles Babbage Institute, University of Minnesota. Adrion gives a brief history of theoretical computer science in the United States and NSF's role in funding that area during the 1970s and 1980s.
- Oral history interview with Bernard A. Galler at Charles Babbage Institute, University of Minnesota. Galler describes the development of computer science at the University of Michigan from the 1950s through the 1980s and discusses his own work in computer science.
- Michael S. Mahoney Papers at Charles Babbage Institute, University of Minnesota—Mahoney was the preeminent historian of computer science as a distinct academic discipline. Papers contain 38 boxes of books, serials, notes, and manuscripts related to the history of computing, mathematics, and related fields.
No comments:
Post a Comment