Learning Center
Plans & pricing Sign in
Sign Out

PowerPoint Presentation SFU ca (PowerPoint)


									A Brief History of
CMPT 128
Summer 2009
SFU Surrey
Tally Sticks (30,000 BC)
                         Used to record
                          monetary transactions
                         Oldest examples date
                          from 30,000 BC
                         “Split” tally sticks let
                          two people have a
                          record of a financial

              Donaldson/128                      2
Abacus (1000BC)
   A calculation tool
   Greek, Roman,
    Chinese, Japanese,
    and Russian versions
   Developed around
    1000BC - 500BC
   Still used by
    merchants around the

                      Donaldson/128   3
Antikythera Mechanism
 Built around 150-
 Discovered 1901
 Used for
 Dozens of gears

                      Donaldson/128   4
Astrolabe and Sextant
                        Used in navigation to
                         site stars and planets
                        Astrolabe: developed
                         around 2 BC
                        Sextant: developed
                         around 1730 AD

             Donaldson/128                        5
John Napier and Logarithms

            Donaldson/128    6
Slide Rules (1600s)
   Aids for calculating
   Before the advent of
    cheap electronic
    calculators in ~1970s,
    these were the
    standard calculating

                        Donaldson/128   7
The Schickard Calculator (~1623)
                         Could add and subtract 6-
                          digit numbers
                         A bell rang when overflow
                         Plans for making this
                          machine lost until the
                          20th century
                         Not programmable
                         One-of-a-kind calculators
                          were made by others
                          around the same time

              Donaldson/128                       8
The Jacquard Loom: Punched
Cards (~1801)
   Punched cards used
    to specify weaving
   The punch cards
    store the “program”
   One of the earliest
    examples of a

                      Donaldson/128   9
Punched Cards
                      Herman Hollerith
                       developed punch cards to
                       help tabulate the 1890
                       USA census
                      The company he started
                       to do this became IBM
                      Punched cards were
                       commonly used by IBM
                       up to the 1980s

           Donaldson/128                     10
Charles Babbage (1791 - 1871)
                       Victorian mathematician
                        interested in the problem
                        of generating accurate
                        mathematical tables
                       Designed and
                        implemented actual
                        mechanical computers for
                        helping to do this
                       Unfortunately, the
                        “funding fell through” and
                        his ideas were essentially
                        forgotten until the age of
                        electronic computers
            Donaldson/128                       11
Babbage’s Difference Engine

              Donaldson/128   12
Babbage’s Analytical Engine

              Donaldson/128   13
Ada Lovelace
   Daughter of the poet Lord
   Wrote some popular
    articles on Babbage’s
   Interested in science and
    mathematics, but at the
    time women didn’t attend

                          Donaldson/128   14
Atanasoff-Berry Computer
   Generally considered to
    be the first electronic
   Used binary
    representation of data
   Did not store its programs
   Legal controversy over
    whether this or ENIAC
    should be considered the
    first computer

                           Donaldson/128   15
ENIAC (~1944)
   Electronic Numerical
    Integrator and Computer
   Could be re-programmed
    (by re-wiring) for a variety
    of tasks
   Could do 357 10-digit
    number multiplications
    per second
   50% down-time due to
    broken vacuum tubes

                             Donaldson/128   16
Eckert and Mauchly

            Donaldson/128   17
EDSAC (1949)
                      Electronic Delay Storage
                       Automatic Computer
                      Built by Maurice Wilkes in
                      Based on the EDVAC
                      Its first programs were to
                       generate a list of square
                       numbers, and a list of
                       prime numbers

           Donaldson/128                       18
EDVAC (~1945)
                      Electronic Discrete
                       Variable Automatic
                      Designed before ENIAC
                       was operational
                      Important because it and
                       EDSAC are based on the
                       “EDVAC Report” design

           Donaldson/128                      19
John von Neumann
   Listed as the author of
    the EDVAC report
   Thus the basic EDVAC
    design is sometimes
    referred to as the “von
    Neumann architecture”
   However, Eckert,
    Mauchly, and others
    helped develop the ideas

                          Donaldson/128   20
Vacuum Tubes
                      A device used to switch
                       or amplify an electronic
                      The key technology for
                       many of the first modern
                      Big and relatively prone
                       to failure (e.g. they have
                       to heat up and cool down)

           Donaldson/128                       21
Transistors (~1947)
   Serve the same basic
    function as a vacuum
   But smaller and more
   The basis for much
    modern electronics

                      Donaldson/128   22
Integrated Circuits (~1960)
                         aka computer chips
                         Can store the
                          equivalent of 1 million
                          transistors per square
                         In 1971, Intel
                          released the 4004
                          chip -- the first single-
                          chip microprocessor

              Donaldson/128                       23
Programming Languages
 Once computers became popular, it
  quickly became clear that writing programs
  in machine-language was extremely error-
  prone and time-consuming
 Thus, “high-level” programming languages
  quickly started to appear

                   Donaldson/128          24
FORTRAN (1950s, Backus et
   FORmula TRANslator
   Used by many scientists
    for numerical computing
   Still used in many
    scientific applications
   Most recent version
    (FORTRAN 2003) has
    added object-oriented

                          Donaldson/128   25
LISP (1950s/60s, McCarthy et al)

   LISt Processing
   Still popular in
    artificial intelligence
   All programs are lists!
(define factorial
    (lambda (n)
      (if (= n 0) 1
        (* n (factorial (- n 1)))))

                                      Donaldson/128   26
COBOL (1950s)
                      Common Business
                       Oriented Language
                      Developed by a
                       committee, but commonly
                       associated with Grace
                      Still in use today for
                       business applications
                       where you perform
                       relatively simple
                       calculations on large
                       amounts of data
           Donaldson/128                    27
Simula (1960s)
                        Developed by Ole-Johan
                         Dahl and Kristen Nygaard
                        Introduced many ideas of
                        Never popular in North
                         America, but influenced
                         many later languages,
                         most notably C++

             Donaldson/128                     28
ALGOL (1960s)
   ALGOrithmic
   A series of languages
    developed by a group
    of computer scientists
   No longer in use, but
    influenced many later

                        Donaldson/128   29
BASIC (1960s)
                       Beginner’s All-purpose
                        Symbolic Instructional
                       Developed by John
                        Kemeny and Thomas
                        Kurtz to help students
                        learn to program (starting
                        with FORTRAN was too
                        difficult for most)
                       No longer in common
                        use, except for Visual
            Donaldson/128                        30
SmallTalk (1970s)
                        Developed by a team
                         lead by Alan Kay at Xerox
                         PARC research labs
                        Designed for children
                        Dynamic object-oriented
                         language, integrated with
                         graphical user interface
                        Pioneered many of the
                         fundamental object-
                         oriented design patterns
                        Still in use, e.g. Squeak

             Donaldson/128                      31
Pascal (1970s)
                                          Developed by Niklaus
                                          Based on his work
                                           with Algol
                                          Very popular as a
                                           learning language in
                                           the 1970s and 1980s
 Remember, if you become
 famous then get rid of all
 dorky pictures of yourself.

                               Donaldson/128                  32
C (1970s)
   Developed to help
    implement the Unix
    operating system
   C++, Java, and other
    languages borrowed its
    basic syntax
   Still used for low-level,
      printf("hello, world\n");
                                  Donaldson/128   33
C++ (1980s)
                         Developed by Bjarne
                          Stroustrup at AT&T in
                          the 1980s
                         Added Simula-style
                          objects to C
                         Added other features,
                          and cleaned up some
                          C problems
                         Still very popular

              Donaldson/128                   34
Java (1990s)
                          Developed by James
                           Gosling and his team at
                           Sun in the early 1990s
                          Built as a response to
                           frustrations working with
                          Hyped as the language
                           for the web due to applets
                          One of the first
                           mainstream language to
                           come with garbage
               Donaldson/128                       35

To top