evolution of computer standards and innovation, including c++

4
* milestone - 1 - Evolution of Computer Standards and Innovation, including C++ Boston University’s Tyngsboro Campus John Leonard CS 201 Computer Science with C++ 12 th 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 12 th 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 lets 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 9 th 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 23 rd 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

Upload: john-leonard

Post on 24-Jul-2015

27 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Evolution of Computer Standards and Innovation, including C++

* 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

Page 2: Evolution of Computer Standards and Innovation, including C++

* 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.

Page 3: Evolution of Computer Standards and Innovation, including C++

* 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

Page 4: Evolution of Computer Standards and Innovation, including C++

* 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