evolution of computer standards and innovation, including c++
Post on 24-Jul-2015
27 Views
Preview:
TRANSCRIPT
* milestone - 1 -
Evolution of Computer Standards and Innovation, including C++
Boston University’s Tyngsboro Campus
John Leonard
CS 201 Computer Science with C++
12th
of June 2001
The story of the computer, is a true story of
evolution. It is not just the story of a number of
brilliant, sometimes eccentric individual’s
contribution, but how each one/group of these
individuals built on the work of their predecessors.
Like any evolutionary process it has taken time and
has been affected by events and in-turn has
affected events. One can go back to the 12th
century when Mukhammad ibn Musa
Al’Khowarizmi, a Tashkent cleric developed the
concept of written process to be followed to
achieve a goal, and published a book on the subject
which gave it’s name to the science of algorithms.
But let’s skip to the beginning of the electronic
age, taking time to acknowledge a number of
achievements:
1612 - John Napier invents logarithms and several
multiplication machines.
1622 - William Oughtred develops the slide rule
(originally circular) based on Napier’s logarithms.
1642 - Blaise Pascal creates an adding machine
with automatic carry.
1801 - Joseph-Marie Jacquard invents the
automatic loom, which uses punched cards.
1854 - George Boole publishes his system of
symbolic and logical reasoning.
1935 - Konrad Zuse develops the world’s first
binary digital computer, the Z-1 (in his parent’s
living room).
1945 - September 9th
first computer “bug”, a moth
logged in relay of Harvard’s Mark II.
With the advent of electronics came the first
electronic calculator, the Atanasoff-Berry
Computer (ABC) was developed by John Vincent
Atanasoff and John Berry. The ABC had many
concepts, the electronic arithmetic unit and cycle
memory that would later appear in “modern
computers”. About this time Bell Laboratories was
working on the problem of complex numbers.
George Stibitz produced the first full-scale
electromagnetic relay calculator, the Complex
Number Calculator later named the Bell Labs
Model 1. This was the first machine to be used
remotely over a telephone line. A teletype outside
the meeting room of the American Mathematical
Society at Dartmouth College was connected to the
Complex Number Calculator in New York.
With the outbreak World War II the pace of
developments quickened. To crack the German
ENIGMA codes the British Government assembled
a team of mathematicians and scientists, at
Bletchley Park. This resulted in the building of a
series of machines culminating with the Colossus
in 1943. The Colossus and its successor the
Colossus Mark 1 were successful in decrypting
German codes, saving thousands of lives and
displayed that the computer had a role to play in
defense. At this time in the U.S., a young
Hungarian mathematician named John von
Neumann working at the University of
Pennsylvania and produced the “First Draft of a
Report on the EDVAC”. This work was never
published, due to editorial crediting issues but
detailed two very important concepts which
became known as the “stored program” and “von
Neumann Architecture” (architecture standard).*
John von Neumann would continue his work at the
University of Pennsylvania and his successor to the
ENIAC would be used to verify the calculations for
the hydrogen bomb.
On a drizzly Tuesday on the 23rd
of December
1947 at AT&T Bell Laboratories in New Jersey,
William Shockley, Walter Brattain and John
Bardeen successfully tested the first point-contact
transistor; consisting of a few strips of gold foil, a
chip of semi-conducting material and a bent paper
clip.i * This event, consigned the vacuum tube to
the scrap heap, the building block off the
semiconductor revolution was born.
October 4 1957, the Russians launch Sputnik.*
The US was caught by surprise, it had no idea that
the USSR had this technology and knew nothing
until Sputnik was already in orbit. What insured in
the US, can only described as panic and with good
reason as it meant the USSR had the capability of
launching Inter-Continental Ballistic Missiles
(ICBMs). In response to this the Department of
Defense (DoD) directive 5105.15 establishing the
Advanced Research Projects Agency (ARPA) was
signed on February 7, 1958. The directive gave
ARPA the responsibility "for the direction or
performance of such advanced projects in the field
of research and development as the Secretary of
Defense shall, from time to time, designate by
individual project or by category."ii
* milestone - 2 -
In 1962 J.C.R. Licklider decried his vision of the
“Intergalactic Network”, later that year he becomes
the first head of ARPA. Licklider starts to work
with Larry Roberts, director of the TX-2 project at
Lincoln Labs and hires Ivan Sutherland a gifted
computer graphics engineer. In 1965 Licklider
hires Bob Taylor from NASA, who as a civilian
manager directs the original ARPAnet project.
Licklider also started contracting work with MIT,
UCLA and BBN. BBN was founded in 1948 as an
acoustic consulting company and had diversified
into computing it starts work on software for the
Honeywell DDP-516 IMP processor; the primary
role of the IMP software was to process packets.
BBN would go on to develop the Pluribus, the first
parallel processing platform and switching
technology known as the butterfly; because of it’s
wiring topology.
By this time Leonard Kleinrock was an assistant
professor at UCLA after completing his doctoral
dissertation at MIT on queuing theory in
communication (packet switching). The was team
assembled, and by 1970 the ARPAnet achieved the
goal of comprehensive resource-sharing and
consist of four nodes; the University of Santa
Barbara, UCLA, SRI International and the
University of Utah.*
In 1970 Bob Taylor left ARPA, now the Defense
Advanced Research Project Agency (DARPA) and
joins the Xerox Corporation. Taylor, 30 gathered
together a team of world class researchers, a
dream-team.* People like Bob Metcalfe who had
built a high-speed (100 Kbps) network interface
between the MIT IMP and a PDP-6 to the
ARPAnet. It runs for 13 years without human
intervention.
The mission set by Xerox was to create “the
architecture of the information”, the future and to
this end the scientists at the Palo Alto Research
Center (PARC) were protected from all
commercial pressure, this paid-off. Their legacy,
the key technologies for the Personal Computer
(PC) and computer networking:
The Altoiii
Graphical User Interface
Client/Server Architecture
Ethernet
Network Architecture
Internet Standards
Flat Panel Displays
Laser Printing
Objected-Oriented Programming
Smalltalk
Xerox PARC produced more that a host of new
technologies, it produced and inspired individuals
that would go on to start such companies as Adobe,
Novell and 3COM. According to Steve Jobs the
Macintosh was the result of his having “seen the
light” at Xerox PARC in the viewing of the Alto
system.* And Bob Taylor would go on to oversee
the development of the electronic book, modern
workstation and the precursor to the Java
programming language at Digital Equipment
Corporation’s research center in Palo Alto.
At the same time as Xerox PARC was changing the
world, C was being developed by Dennis Ritchie,
on a DEC PDP-11 with a UNIX operating system.
C was developed from a language called B,
invented by Ken Thompson, immersed in the
development of UNIX at Bell Laborites, which in
turn was a development of an older language called
BCPL, developed by Martin Richards.* C’s
impact was huge, and considered by many to be the
first “programmer’s language”, being developed,
tested and redeveloped by programmers. This
process produced a language that programmers
liked to use and that could be used to program
operating systems and applications. To prove this
point, Ritchie rewrites Unix in C. At this time,
there was a community of software sharing and this
allowed software, such as Unix and C to diffuse
into colleges and university and from there to the
business world, this ideal of “Open Sources” was
described in the book of the same name.
The de facto standard for C, at this time was that
detailed in The C Programming Language, by
Brian Kernighan and Dennis Ritchie. With the
advent of the PC the popularity of C grew, but with
no real standard and numerous versions of C
floating around problems/discrepancies started to
occur with implementations. In the summer of
1983 work began on the creation of an ANSI
(American National Standards Institute) C
standard. The final version of this standard was
adopted in December 1989 and published in early
1990.* Standards improve maintenance,
portability and reusability the “building block
approach” and this is the essence of software
engineering. Along with these immediate benefits,
there were also less tangible and long-term ones.
This C standard, would provide the basics of C++
and in turn Java. More importantly it shows the
long-term value of standards as “building blocks”
for the future and that market pressure, the “lowest
common denominator” must sometimes be
prevented from prevailing. Something are just
worth protecting.
* milestone - 3 -
Edward Roberts, William Yates and Jim Bybee
developed the first mass produced and marketed
personal computer, the MITS Altair 8800 in 1974
(available in kit form). It had a price tag of $375,
contains 256 bytes of memory (not 256K), no
display and no auxiliary storage device.iv * Bill
Gates and Paul Allen would write their first
product for the Altair, a BASIC compiler. The
Altair was named after a planet from a “Star
Track” episode.v A year after the arrival of the
Altair, Steve Jobs and Steve Wozniak produced the
Apple II, complete with it’s own keyboard, monitor
and 4K of memory. Priced with in the reach of
enthusiast and supporting some basic applications,
it was an immediate success. The Apple II was
quickly assimilated into schools and colleges and
was the basis of many early microprocessor
courses. That same year, Microsoft and Apple
were founded. In 1980 Apple goes public, opening
at $7 and closing at $29 a share.
By now the ARPAnet has grown to 61 nodes.
Licklider turns over its administration to the
Defense Communication Agency (DCA). BBN
remains the contractor responsible for the operation
of the network and agrees to release the source
code for the IMPs and TIPs. The networks of the
Department of Energy, the National Laboratories
and NASA are connected to the ARPAnet, using
the newly developed Transmission Control
Protocol (TCP) protocol. An early issue is
interoperability as these networks have such a
variety of protocols. Computer scientists at
Berkeley build Transmission Control
Protocol/Internet Protocol (TCP/IP into the UNIX
system, it has become the de facto standard for data
transmission over networks, including the Internet
every since.*
By the late 1970s, program complexity and size
had reached a point where a new method of
tackling the problem was needed. This new
method was Object-Oriented Programming (OOP),
but C did not support object-oriented programming
and it was this need that lead to the development of
C++. C++ was developed by Bjarne Stroustrup in
1979 at Bell Laboratories, it was initially called “C
with Classes” but in 1983 the name was changed to
C++. C++ was not an attempt to develop a new
language but rather an object-oriented version of C.
By building on C, Stroustrup provided a smooth
path to OOP, as programmers who already know C
did not have to learn a new language but just a few
new features. C++ is a development of C and
earlier object-oriented languages; Smalltalk and
Simula67.
In 1980 Intel released the 8086 processor, and over
the next 20 years will turn-out ever more powerful
processors, to support the ever increasing demand
for processing power and fulfill Moore’s Law
(figure 1).* Less that four months after IBM
launch the PC, Time Magazine names the
computer 1982’s “Man of the Year”. By this time
the computer has become one of the principal tools
in the movie industry and Disney Studios releases
“Tron”, a movie where the characters exist inside a
computer. Software development explodes with
the introduction of the PC; standard applications
include the spreadsheet and word processor, but
also graphics packages and games were also
available. New companies are being created each
day; many tried to do too much, often killing
themselves off due to the high expenses. One
“success story” is Mitch Kapor’s Lotus 1-2-3; its
spreadsheet quickly dominates the market and
becomes the de facto standard for a while.
figure 1. Moore’s Lawvi
Having incorporated TCP/IP into Berkeley’s Unix,
Bill Joy is the key to the formation of Sun
Microsystems in 1983. Along with Scott McNeal,
Vinod Khosla and Andy Bechtolstein they start
producing workstations loaded with the
Unix/TCP/IP software, and quickly become
another “success story”. This “success story” was
only possible due to Berkeley’s progressive
attitude towards the ownership of student’s class
work, and again shows the positive role-played by
government and educational institutions in the
development of the computer.
Apple is struggling, losing market share to IBM’s
PC. Jobs starts working on the Macintosh and
recruits John Sculley, former president of PepsiCo
with the phrase “do you want to sell sugar water
for the rest of your life, or change the world”. The
next year, 1984 Apple launches the Macintosh.
Jobs is ousted and leaves Apple in 1985, he forms
Next Inc. and buys a majority stake in Pixar; spin-
off from LucasFilm. Next’s first computer again
built on concepts Jobs saw at Xerox PARC
powerful but incompatible with millions of other
computers is launched; with a price tag of $10,000.
The Pixar wins an Academy Award for best
* milestone - 4 -
computer animated film with “Tin Toy” but in
1993 Next shuts down its hardware division. With
in three years Jobs in back at Apple and Apple
buys Next.
In 1990 ARPAnet formally shuts down, in 12 years
“the net” has grown from 4 to 300,000 hosts, with
all this data a simple way of retrieving information
was needed. By this time Tin Berners-Lee of
CERN (the European Laboratory for Particle
Physics) has developed the “World Wide Web”
and several communication protocols that form its
backbone.* During the summer of 1992, student at
NCSA in Champagne-Urbana modify Tin Berners-
Lee’s hypertext (linked text) proposal and
MOSAIC is born. MOSAIC provides an easy and
user-friendly way to search and navigate the web.
Larry Smarr presents MOSAIC to Jim Clark and
within weeks, Netscape is founded.
By now C++ has gone through a number of
revisions, a de facto standard was created with the
publication of “The C++ Programming Language”
by Bjarne Stroustrup. The first ANSI/ISO standard
is created on the 25th
of January 1994. This
standard kept all of the features developed by
Stroustrup and added a few new ones, but shortly
after this standard was adopted an event occurred
that required a rewrite of the standard. The
creation of the Standard Template Library (STL)
by Alexander Stepanov enlarged the scope of C++
and it was not until the 14th
of November 1997 that
the ANSI/ISO, incorporating the STLs was
published.*
In 1993 the Internet opens for business with the
first piece of Internet legislation proposed by U.S.
Rep. Rick Boucher.* That same year, Microsoft
launches Window NT, it has roots in Unix and it is
the melding of DOS with concept borrowed from
DEC’s VMS; which pioneered “clustering”.
Today, Unix, Microsoft and circumstance have
successfully choked all the other OS choices out of
business and Microsoft forced the US government
to intervene due to its treatment of Netscape.*
What does the future hold?
New technologies like I-Phone, XML (EXtensible
Markup Language, a markup language describing
data) and fiber optic cable will connect us all,
turning communication in to contact, and making
the global village a reality. Who will dominate?
The “big blues” will of course have a place, but if
the story so far has taught us anything it that, there
is a place for a company that can see the change in
the market, the “inflection point”vii and take
advantage if it. And in the argument of hardware
over software, anyone that has stared at an
hourglass on screen knows you need both, but as
Jobs said “The personal computer was created by
the hardware revolution of the 70s. The next
change will come from a software revolution.”viii
Here’s to the next revolution.
i Walter Isaacson, The Digital Age Time Magazine January 1997, Online www.time.com/
ii ARPA-DARPA: The History of the Name, Online www.darpa.mil
iii PARC’s Legacy Online www.parc.xerox.com/parc-go.html
iv & v J.A.N. Lee and Stanley Winkler, Key Events in the History of Computing (IEEE)
vi Processor Hall Of Fame, Online www.intel.com/intel/museum/25anniv/hof/moore.htm
vii Andrew Grove, Only the Paranoid Survive
viii Silicon Vally.com, 1st Person Quotables, Online www.siliconvalley.com/
Reference:
C++ How to Program, Deitel & Deitel
C++ From the Ground Up, Herbert Schildt
David Bolker, Chirs Rumble and Doug Tidwell, DeveloperWorks, November 1999
Interview with James Gosling: An interview with the Java guru
Online www-106.ibm.com/developerworks/features/gosling/
www.cs.ucla.edu/~lk/
utrott.dyndns.org/arpanet/tour/imp.html
www.house.gov/boucher/
www.darpa.mil/
www.computerhistory.org/
cplusplus.com/info/history.html
www.almanacnews.com/morgue/2000/2000_10_11.taylor.html
top related