Title: A Short History of Computer Programming
1A Short History of Computer Programming
- Mr. Simon
- Lowell High School
- San Francisco
2The First Computers
- Some people say the first computer was the
abacus
- The first thing that was actually called a
computer was a person
- Women employed by the War Department (now called
the Department of Defense) to make mathematical
calculations for ballistics tables were called
computers
3In fact, women did much of the work that is now
done by computer
- Data Processing at
- Sears Roebuck, 1913
4The early machines that replaced women
computers were really just big ugly calculators
- Herman Hollerith developed his tabulating
machine to help with the census. His Tabulating
Machine Company later changed its name to
International Business Machines Corporation or
IBM.
5Alan Turing developed the idea of a programmable
calculating machine (which he called a universal
computing machine) in the late 1930s, but his
ideas were too advanced for the technology of the
time.
- The instructions that would program the computer
came to be called software, since they were not
built into the hardware of the machine.
"Hardware the parts of a computer that can be
kicked." - Jeff Pe
sis
6The EDVAC of 1948 (Electronic Discrete Variable
Automatic Computer) was one of the first
computers to store programs in memory. This made
the machine much more powerful than a calculator.
- The average operating time per instruction for
EDVAC
- Addition 864 microseconds
- Subtraction 864 microseconds
- Comparison 696 microseconds
- Multiplication 2,928 microseconds
- Division 2,928 microseconds
- The designers of early programmable computers
didnt really put much time or energy into
software. It was thought that anyone smart
enough to need a computer would be smart enough
to program it.
"I think there is a world market for maybe 5
computers." - Thomas Watson, IBM boss, 1943
7This assumption was quickly proven wrong. The
scientists and engineers who used the early
programmable computers were soon spending more
time programming the computers than on the
problems they were trying to solve. A new job
was created, Programming. IBM ran an ad looking
for those who enjoy playing chess or solving
puzzles.
- Many of the earliest programmers were women
mathematicians. Programmers often worked late at
night when no one else needed the computers.
Programming machine language was extremely
tedious, and the early programmers quickly
realized the need for high level languages.
Grace Hopper developed the idea of a compiler in
1951.
8It just had not occurred to me that there was
going to be any difficulty about getting programs
working. And it was with somewhat of a shock
that I realized that for the rest of my life I
was going to spend a good deal of my time finding
mistakes that I had made myself in
programs. -Maurice Wilkes, designer of the
EDSAC
- Programmers use the term bug to mean a problem
with a program. Grace Hopper found a moth jammed
in the Harvard Mark II and joked in the log
First actual case of bug being found.
9Because of the odd hours, demanding and sometimes
tedious work and the lack of specific education
programs, programming attracted a diverse and
sometimes strange group of of people
- Miss USA of 1964 became a computer programmer.
In the early 1960s, the MIT model railroad club
had their own language rolling chairs were
bunkies, broken equipment was munged, and a
practical joke or impressive feat was called a
hack. Many of the club members were short and
most were unathletic. Some wore thick glasses.
When Digital Equipment donated a PDP-1 to MIT the
club members came up with an idea for the
ultimate hack.
10The idea was to build an interactive game with
dueling space ships. At first the game was
played using toggle switches. Later the club
members built remote controllers, the worlds
first joysticks. The code was kept in an unlocked
drawer and anyone was free to modify it. The game
Spacewar! became the basis for Asteroids.
11The introduction of the personal computer helped
software become a billion dollar industry by 1980.
- Microsoft was started when Bill Gates and Paul
Allen developed a BASIC compiler for the Altair
computer in 1975
"The best way to prepare is to write
programs, and to study great programs
that other people have written. In my case,
I went to the garbage cans at the
Computer Science Center and I fished out
listings of their operating system."
- Bill
Gates
12The amount spent on software continued to
increase. In 1980 it was estimated that 2 was
spent on software for every 1 on hardware.
Additionally, 50 of the total cost of software
was debugging and quality control.
- One way to make programming easier was structured
programming, invented by Edsger W. Dijkstra in
the late 1960s. Dijkstra demonstrated that any
program could be written without GOTO statements,
and would be easier to understand without them.
"The use of COBOL cripples the mind its teaching
should, therefore, be regarded as a criminal
offense."
-
Edsgar Dijkstra
13Probably the most successful structured language
is C, developed by Dennis Ritchie at Bell Labs in
1969. C was based on another Bell Labs language
called B which in turn was based on BCPL. There
was no A.
- C was designed by programmers for programmers.
It was meant to give the programmer the power of
a low level language with the ease of use of a
high level language.
Dennis Ritchie also created the UNIX
operating system with Ken Thompson.
14Software increased rapidly in size and
complexity. By the time XP was introduced,
Windows had grown to more than 50,000,000 lines
of code.
- Programs had grown far too complex for one person
to understand all the details. OOP (Object
Oriented Programming) allowed teams of software
engineers to manage complexity and see the big
picture without getting overwhelmed in details.
C added OOP features to the C language.
"C makes it easy to shoot yourself in the foot
C makes it harder, but when you do,
it blows away your whole leg." -
Bjarne Stroustrup, creator of C
15Distributed computing and client-server computing
is where a combination of large and small
computers are hooked together on a network, such
as the internet, so that each is used for what it
does best. Java, developed at Sun Microsystems,
worked particularly well for network and internet
programming. It was largely based on C.
- Microsoft developed its own version of Java
called J. It was never widely accepted. After
settling a lawsuit with Sun, Microsoft developed
a new language to challenge Java called C
(sharp). Its still too early to tell how well
accepted C will become.
16Acknowledgments
- InfoCulture The Smithsonian Book of Information
Age Inventions by Steven Lubar
- Old code in Windows is security threat,
http//news.com.com/2100-1001-934363.html?tagrn
- The Next Fifty years of Software, Nathan P.
Myhrvold http//research.microsoft.com/acm97/nm/sl
d001.htm
- Herman Hollerith http//www-gap.dcs.st-and.ac.uk/
history/Mathematicians/Hollerith.html
- The Alan Turing Home Page http//www.turing.org.uk
/turing/
- The History of Computers Technical data on the
EDVAC http//www.fht-esslingen.de/studentisches/Co
mputer_Geschichte/grp4/data.html
- Penn Special Collections-The EDVAC
http//www.library.upenn.edu/special/gallery/mauch
ly/jwm9.html
- Grace Murray Hopper Pioneer Computer Scientist
http//www.sdsc.edu/ScienceWomen/hopper.html
- Photo NH 96599-KN First Computer Bug, 1945
http//www.history.navy.mil/photos/images/h96000/h
96566k.jpg
- Maurice Vincent Wilkes http//ei.cs.vt.edu/histor
y/Wilkes.html
- Sun Java logo http//wwws.sun.com/software/solaris
/images/sun_java.gif
- Miss USA 1964 Bobbie Johnson www.geocities.com/m
issusamagic/64bobbie.html
- Edsger Wybe Dijkstra http//www.cs.utexas.edu/user
s/UTCS/report/1994/profiles/dijkstra.html
- Dennis Ritchie http//www.bell-labs.com/pr/awards/
archives/0497/
- Microsoft C logo http//images.amazon.com/images/
P/B00005RV4W.01.LZZZZZZZ.jpg
- The Ultimate History of Video Games by Steven
Kent
- The Dot Eaters Classic Video Game History,
http//www.emuunlim.com/doteaters/play1sta1.htm