97 The Next Fifty Years of Software ACM

advertisement
The Next Fifty Years
of Software
Nathan P. Myhrvold
Chief Technology Officer
Microsoft Corporation
ACM 97
ACM 97
THE NEXT 50 YEARS OF COMPUTING
Copyright  1997 ACM, Association for Computing
The files on this disk or server have been provided by ACM. The files distributed by this server have been
provided by ACM. Copyright and all rights therein are maintained by ACM. It is understood that all persons
copying this information will adhere to the terms and constraints invoked by ACM’s copyright. These works
may not be reposted without the explicit permission of ACM. Reuse and/or reposting for noncommercial
classroom use is permitted. Questions regarding usage rights and permissions may be addressed to:
permissions@acm.org
ACM 97
Software: The Crisis
Continues!
Nathan P. Myhrvold
Unrepentant Programmer
&
Theoretical Physicist
ACM 97
A Brief History of the Universe
Quantum gravitational fluctuation
starts expanding
Inflationary expansion
grows exponentially
Expansion slows and particles
condense from quark plasma
Radiation from initial fireball
red shifts by expansion to 3 degrees K
Matter condenses, ultimately into
the San Jose Convention center
ACM 97
A Brief History of Information
Writing is invented
Johan Gutenberg
invents moveable type
and modern printing
Von Neumann et. al
invent the computer
The microprocessor brings
computing to everyone
Networks hook us all
together
ACM 97
Moore’s Law

Price/performance
 1,000,000X boost in
last 20 years
 1,000,000X more in
the next 20 years
 Likely to continue
for at least 40 years
ACM 97
Bytes/$ DRAM
1000000
100000
1000
Doubling time 964 days
100
Growth rate 30% per year
10
2000
1998
1996
1994
1992
1990
1988
1986
1984
1982
1980
1978
1976
1974
1972
1
1970
Bytes/$
10000
ACM 97
Software Co. Stock Price
ACM 97
Software Co. Stock Price
Doubling time 694 days
Growth rate 44% per year
ACM 97
Log (Stock Price/DRAM $ per bit)
ACM 97
Nathan’s 1st Law of Software
Software is a gas!
It expands to fit the container it is in!
ACM 97
Windows NT Lines of Code
100000000
Doubling time 866 days
Growth rate 33.9% per year
10000000
1000000
7/15/92
1/31/93
8/19/93
3/7/94
9/23/94
4/11/95
10/28/95
ACM 97
5/15/96
12/1/96
6/19/97
Browser Code Growth
100000
Doubling time 216 days
Growth rate 221% per year
10000
1000
1/1/95
4/11/95
7/20/95
10/28/95
2/5/96
5/15/96
8/23/96
12/1/96
3/11/97
6/19/97
ACM 97
Nathan’s 2nd Law of Software
Software grows until it becomes
limited by Moore’s Law

Initial growth is rapid - like gas
expanding (like browser)
 Eventually, limited by hardware
(like NT)
 Bring any processor to its knees,
just before the new model is out
ACM 97
Nathan’s 3rd Law of Software
Software growth makes Moore’s
Law possible
That’s why people buy new
hardware - economic motivator
 That’s why chips get faster at
same price, instead of cheaper
 Will continue as long as there is
opportunity for new software

ACM 97
Nathan’s 4th Law of Software
Software is only limited by
human ambition & expectation
It’s impossible to have enough
 New algorithms
 New applications and new users
 New notions of what is cool

ACM 97
The Software Crisis!

Von Neumann had trouble
 Software is always in “crisis”
 Is there some limit to complexity?
 Will software ever grow up?
 Will the crisis ever end?
Of course
not!
ACM 97
The Perpetual Crisis

Panacea solutions
–
High level languages
– Object oriented programming
– Component software, ...

Benefits absorbed by rising
expectations
 Software will never be easy
 Somebody will push the boundary
ACM 97
Synthetic Actors
ACM 97
Mommy, look at my T. rex!
ACM 97
Future Software Techniques

Genetic programming
 “Software husbandry”
–

Tending virtual flocks
How does software complexity
compare to genetic complexity?
ACM 97
Which is Bigger?
Madonna:
The Genotype
Evita
Evita:
The Motion
Picture
ACM 97
The Movie Wins
4 Gbytes
~1 Gbyte
Madonna:
The Genotype
Evita
Evita:
The Motion Picture
ACM 97
Genetic Complexity

Human Genome ~ 1 Gbyte
 Individual difference ~ 0.25%
 Loss less compression 2:1
 Individual ~ 1.2 Mbytes
You fit on a floppy disk
ACM 97
Genetic Diversity?

Human population < 3.7 Tbytes
 Compress relatives < 1 Tbytes
 Like a big web site!
 Diversity of all animals on earth?
 About the size of the web in a few
years!
ACM 97
The Ultimate Computer




Learning more
about the brain
every day
AI will happen
Computers with
same power in 20
to 30 years
Brain has no
Moore’s Law
ACM 97
Programming The Ultimate
Computer

When computers are as smart as
humans, how do you program
them?
 Human takes 20 years to boot!
 Must we teach them?
ACM 97
Humans as Software
Uploading to become a program
ACM 97
Operating Systems for Human
Software

Housing uploads
 Treat human upload as an
application program
 Provide memory & other
services
 Peripherals to deal with real
world
ACM 97
Separated at Birth?
Windows 2.0 1987
Windows 2047
Multitasking
Multiple personalities
Virtual memory
Compatible with
DOS applications
Virtual memory
Compatible with meat
based humans
> 640 Kilobytes
> 640 Petabytes
GUI
You & I
ACM 97
See you in 2047!
ACM 97
Download