history. difference machine j. h. müller conceived the idea of this machine in a book published in...

Post on 29-Dec-2015

217 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

History

Difference machine• J. H. Müller conceived the idea of

this machine in a book published in 1786, but couldn't find funding

• In 1822, Charles Babbage proposed the use of such a machine in a paper to the Royal Astronomical Society on June 14 entitled "Note on the application of machinery to the computation of astronomical and mathematical tables". This machine used the decimal number system and was powered by cranking a handle.– http://www.youtube.com/watch?v=

0anIyVGeWOI&feature=fvw– http://www.youtube.com/watch?v=

B8tmfcOg8l8

Influenced

• Jacquard's loom mechanism is controlled by recorded patterns of holes in a string of cards, and allows, what is now known as, the Jacquard weaving of intricate patterns.

Input

• Three different types of punch cards were used:– one for arithmetical

operations, one for numerical constants, and

– one for load and store operations,

– transferring numbers from the store to the arithmetical unit or back.

• There were three separate readers for the three types of cards.

Analytical machine• More general design• Allowed Babbage to get more

funding• The programming language to

be employed by users was akin to modern day assembly languages.

• Loops and conditional branching were possible.

• Ada King, Countess of Lovelace– First computer programmer– Described a way to calculate

Bernoulli numbers using the machine

Coding

• The first programming languages were called codes– a code is a rule for converting a piece of

information (for example, a letter, word, phrase, or gesture) into another form or representation (one sign into another sign)

Storage of data

• Herman Hollerith realized that he could encode information on punch cards when he observed that train conductors would encode the appearance of the ticket holders on the train tickets using the position of punched holes on the tickets. Hollerith then proceeded to encode the 1890 census data on punch cards.

Herman Hollerith

Founded IBM

So did you notice?

• That the first computer codes were specialized for the applications.

Epiphany 0_0

• Realization that logic could be represented with numbers, as well as with words.

Alonzo Church

• lambda calculus, (λ-calculus) – 1936– Note: a buggy version of the theory was published

in 1932– is a formal system for function definition, function

application and recursion. • This is the basis for functional programming– F# , new in Visual Studio 2010– LINQ , new in Visual Studio 2008

Alan Turing

• http://www.youtube.com/watch?v=2bLCjMA0YlE&feature=related– We will watch the first 2 minutes in class

• And minutes 13.01 – 15.23

• Invented the Turing Machine– Hypothetical machine – it is impossible to build

• Because the tape is infinite• Turing machines are basic abstract symbol-manipulating devices

which, despite their simplicity, can be adapted to simulate the logic of any computer algorithm.

• He wanted to answer the question – what problems can be solved and what problems can’t be solved.– Halting problem

1940s• ENIAC • Electronic Numerical Integrator

and Computer– 1946. – Used vacuum tubes (not mechanical

devices) to do its calculations. • Hence, first electronic computer.

– Developers John Mauchly, a physicist, and J. Prosper Eckert, an electrical engineer • The Moore School of Electrical

Engineering at the University of Pennsylvania

– Funded by the U.S. Army. – But it could not store its programs

(its set of instructions)

EDVAC

• Mauchly and Eckert began to design the - the Electronic Discreet Variable Computer.

• John von Neumann's influential report in June 1945: "The Report on the EDVAC"

The British

• British scientists used this report and outpaced the Americans. Max Newman headed up the effort at Manchester University – Where the Manchester Mark I went into operation in June

1948--becoming the first stored-program computer. • Maurice Wilkes, a British scientist at Cambridge

University, completed the EDSAC (Electronic Delay Storage Automatic Calculator) in 1949--two years before EDVAC was finished. – Thus, EDSAC became the first stored-program computer in

general use (i.e., not a prototype).

UNIVAC

• The First General-Purpose Computer for Commercial Use: Universal Automatic Computer .

What happened next?

– 1954-1958 = Mathematical expressions• FORTRAN I, ALGOL 58, Flowmatic

– 1959-1961• FORTRAN II = subroutines, separate compilation• ALGOL 60 = block structure, data types• COBOL = data description, file handling• Lisp = list processing, pointers, garbage collection

– 1962 – 1970• PL/1 = FORTRAN + ALGOL + COBOL • ALGOL 68 = rigorous successor to ALGOL 60• Pascal = simple successor to ALGOL 60• Simula = classes and data abstraction

1970 -1980• lots and lots of languages were developed, few

endured– Debates about structured programming

• The evil GOTO– SQL = 1978

• This is widely used today• Individual transistors were replaced by

integrated circuits. • Magnetic tape and disks completely replace

punch cards as external storage devices. • Magnetic core internal memories began to give

way to a new form, metal oxide semiconductor (MOS) memory, which, like integrated circuits, used silicon-backed chips. – Operating systems – Advanced programming languages like

BASIC developed. • Which is where Bill Gates and

Microsoft got their start in 1975.

1980s

• consolidation, modules, performance– 1983 - Ada– 1983 - C++ = combined

object-oriented and systems programming

– 1985 - Eiffel– 1987 – Perl

• http://www.youtube.com/watch?v=OYecfV3ubP8

• Large-scale and very large-scale integrated circuits (LSIs and VLSICs) Microprocessors that contained memory, logic, and control circuits (an entire CPU = Central Processing Unit) on a single chip. Which allowed for home-use personal computers or PCs, like the Apple (II and Mac) and IBM PC. – Apple II released to public in 1977, by Stephen

Wozniak and Steven Jobs. • Initially sold for $1,195 (without a

monitor); had 16k RAM. – First Apple Mac released in 1984. – IBM PC introduced in 1981.

• Debuts with MS-DOS (Microsoft Disk Operating System)

• Fourth generation language software products – E.g., Visicalc, Lotus 1-2-3, dBase, Microsoft

Word, and many others. – Graphical User Interfaces (GUI) for PCs arrive

in early 1980s • MS Windows debuts in 1983, but is quite

a clunker.

Computers are made by people

Less experience• Steve Jobs• http://www.youtube.com/w

atch?v=upzKj-1HaKw&feature=related

• Bill Gates• http://www.youtube.com/w

atch?v=Uau0aIbrzkQ&feature=related

More experience• http://www.youtube.com/w

atch?v=_5Z7eal4uXI&NR=1&feature=fvwp

• There are several parts to this – it is fun to watch it.

People want to interact

• The History of the Internet– http://www.youtube.com/watch?v=9hIQjrMHTv4

&feature=related– We will watch the first 2:53 min

• Google's View On The Internet's Future – http://www.youtube.com/watch?v=HDtSCCjXEqo

&feature=related

1990s = The INTERNET

– 1990 - Haskell– 1991 - Python– 1991 - Java– 1993 - Ruby– 1993 - Lua– 1994 - ANSI Common Lisp– 1995 - JavaScript– 1995 - PHP– 2000 - C# = OOP is introduced to MS technologies– 2008 - JavaFX Script

top related