acm 97 the next fifty years of software nathan p. myhrvold chief technology officer microsoft...
TRANSCRIPT
ACM 97
The Next Fifty Years The Next Fifty Years of Softwareof Software
Nathan P. MyhrvoldNathan P. MyhrvoldChief Technology OfficerChief Technology Officer
Microsoft CorporationMicrosoft Corporation
ACM 97
ACM 97ACM 97THE NEXT THE NEXT 5050 YEARS OF YEARS OF
COMPUTINGCOMPUTING
ACM 97
ACM 97ACM 97
Copyright Copyright 1997 ACM, Association for Computing 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 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 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 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 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: classroom use is permitted. Questions regarding usage rights and permissions may be addressed to: [email protected]@acm.org
THE NEXT 50 YEARS OF COMPUTINGTHE NEXT 50 YEARS OF COMPUTING
ACM 97
James BurkeJames Burke
Master of CeremoniesMaster of Ceremonies
ACM 97
ACM 97
ACM 97
ACM 97
ACM 97NATHAN MYHRVOLD
ACM 97
ACM 97
The Next Fifty Years The Next Fifty Years of Softwareof Software
Nathan P. MyhrvoldNathan P. MyhrvoldChief Technology OfficerChief Technology Officer
Microsoft CorporationMicrosoft Corporation
ACM 97
Software: The Crisis Software: The Crisis Continues!Continues!
Nathan P. MyhrvoldNathan P. MyhrvoldUnrepentant ProgrammerUnrepentant Programmer
&&Theoretical PhysicistTheoretical Physicist
ACM 97
A Brief History of the A Brief History of the UniverseUniverseQuantum gravitational fluctuation
starts expanding
Inflationary expansiongrows exponentially
Expansion slows and particles condense from quark plasma
Radiation from initial fireballred shifts by expansion to 3 degrees K
Matter condenses, ultimately intothe San Jose Convention center
ACM 97
ACM 97
A Brief History of A Brief History of InformationInformationWriting is invented
Johan Gutenberg invents moveable typeand modern printing
Von Neumann et. al invent the computer
The microprocessor brings computing to everyone
Networks hook us all together
ACM 97
ACM 97
ACM 97
Moore’s Law Moore’s Law
Price/performancePrice/performance 1,000,000X boost in 1,000,000X boost in
last 20 yearslast 20 years 1,000,000X more in 1,000,000X more in
the next 20 yearsthe next 20 years Likely to continue for Likely to continue for
at least 40 yearsat least 40 years
ACM 97
ACM 97
ACM 97
ACM 97
Bytes/$ Bytes/$ DRAMDRAM
Byte
s/$
1
10
100
1000
10000
100000
10000001
97
0
19
72
19
74
19
76
19
78
19
80
19
82
19
84
19
86
19
88
19
90
19
92
19
94
19
96
19
98
20
00
Doubling time 964 daysDoubling time 964 days
Growth rate 30% per yearGrowth rate 30% per year
ACM 97
Software Co. Stock Software Co. Stock PricePrice
ACM 97
Software Co. Stock Software Co. Stock PricePrice
Doubling time 694 daysDoubling time 694 days
Growth rate 44% per yearGrowth rate 44% per year
ACM 97
Log (Stock Price/DRAM $ per Log (Stock Price/DRAM $ per bit)bit)
ACM 97
Nathan’s 1st Law of Nathan’s 1st Law of SoftwareSoftware
It expands to fit the container it is in!It expands to fit the container it is in!
Software is a gas!Software is a gas!
ACM 97
Windows NT Lines of CodeWindows NT Lines of Code
1000000
10000000
100000000
7/15/92 1/31/93 8/19/93 3/7/94 9/23/94 4/11/95 10/28/95 5/15/96 12/1/96 6/19/97
Doubling time 866 daysDoubling time 866 days
Growth rate 33.9% per yearGrowth rate 33.9% per year
ACM 97
ACM 97
Browser Code GrowthBrowser Code Growth
1000
10000
100000
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
Doubling time 216 daysDoubling time 216 days
Growth rate 221% per yearGrowth rate 221% per year
ACM 97
Nathan’s 2nd Law of SoftwareNathan’s 2nd Law of Software
Initial growth is rapid - like gas Initial growth is rapid - like gas expanding (like browser)expanding (like browser)
Software grows until it becomes Software grows until it becomes limited by Moore’s Lawlimited by Moore’s Law
ACM 97
ACM 97
Nathan’s 2nd Law of SoftwareNathan’s 2nd Law of Software
Initial growth is rapid - like gas Initial growth is rapid - like gas expanding (like browser)expanding (like browser)
Eventually, limited by hardware Eventually, limited by hardware (like NT)(like NT)
Bring any processor to its knees, Bring any processor to its knees, just before the new model is outjust before the new model is out
Software grows until it becomes Software grows until it becomes limited by Moore’s Lawlimited by Moore’s Law
ACM 97
Nathan’s 3rd Law of SoftwareNathan’s 3rd Law of Software
That’s why people buy new That’s why people buy new hardware - economic motivatorhardware - economic motivator
Software growth makes Moore’s Software growth makes Moore’s Law possibleLaw possible
ACM 97
ACM 97
Nathan’s 3rd Law of SoftwareNathan’s 3rd Law of Software
That’s why people buy new That’s why people buy new hardware - economic motivatorhardware - economic motivator
That’s why chips get faster at That’s why chips get faster at same price, instead of cheapersame price, instead of cheaper
Will continue as long as there is Will continue as long as there is opportunity for new softwareopportunity for new software
Software growth makes Moore’s Software growth makes Moore’s Law possibleLaw possible
ACM 97
ACM 97
Nathan’s 4th Law of SoftwareNathan’s 4th Law of Software
It’s impossible to have enoughIt’s impossible to have enough
Software is only limited by Software is only limited by human ambition & expectationhuman ambition & expectation
ACM 97
Nathan’s 4th Law of SoftwareNathan’s 4th Law of Software
It’s impossible to have enoughIt’s impossible to have enough New algorithmsNew algorithms
Software is only limited by Software is only limited by human ambition & expectationhuman ambition & expectation
ACM 97
Nathan’s 4th Law of SoftwareNathan’s 4th Law of Software
It’s impossible to have enoughIt’s impossible to have enough New algorithmsNew algorithms New applications and new usersNew applications and new users
Software is only limited by Software is only limited by human ambition & expectationhuman ambition & expectation
ACM 97
Nathan’s 4th Law of SoftwareNathan’s 4th Law of Software
It’s impossible to have enoughIt’s impossible to have enough New algorithmsNew algorithms New applications and new usersNew applications and new users New notions of what is coolNew notions of what is cool
Software is only limited by Software is only limited by human ambition & expectationhuman ambition & expectation
ACM 97
ACM 97
The Software Crisis!The Software Crisis! Von Neumann had trouble Von Neumann had trouble
ACM 97
ACM 97
The Software Crisis!The Software Crisis! Von Neumann had trouble Von Neumann had trouble Software is always in “crisis”Software is always in “crisis”
ACM 97
The Software Crisis!The Software Crisis! Von Neumann had trouble Von Neumann had trouble Software is always in “crisis”Software is always in “crisis” Is there some limit to complexity?Is there some limit to complexity? Will software ever grow up? Will software ever grow up?
ACM 97
The Software Crisis!The Software Crisis! Von Neumann had trouble Von Neumann had trouble Software is always in “crisis”Software is always in “crisis” Is there some limit to complexity?Is there some limit to complexity? Will software ever grow up? Will software ever grow up? Will the crisis ever end?Will the crisis ever end?
Of course Of course not!not!
ACM 97
The Perpetual CrisisThe Perpetual Crisis Panacea solutionsPanacea solutions
– High level languagesHigh level languages– Object oriented programmingObject oriented programming– Component software, ...Component software, ...
ACM 97
ACM 97
The Perpetual CrisisThe Perpetual Crisis Panacea solutionsPanacea solutions
– High level languagesHigh level languages– Object oriented programmingObject oriented programming– Component software, ...Component software, ...
Benefits absorbed by rising Benefits absorbed by rising expectationsexpectations
ACM 97
ACM 97
The Perpetual CrisisThe Perpetual Crisis Panacea solutionsPanacea solutions
– High level languagesHigh level languages– Object oriented programmingObject oriented programming– Component software, ...Component software, ...
Benefits absorbed by rising Benefits absorbed by rising expectationsexpectations
Software will never be easySoftware will never be easy Somebody will push the boundarySomebody will push the boundary
ACM 97
Synthetic Synthetic ActorsActors
ACM 97
ACM 97
Mommy, look at my T. Mommy, look at my T. rex!rex!
ACM 97
Future Software TechniquesFuture Software Techniques
Genetic programming Genetic programming ““Software husbandry”Software husbandry”
– Tending virtual flocksTending virtual flocks How does software complexity How does software complexity
compare to genetic complexity?compare to genetic complexity?
ACM 97
ACM 97
ACM 97
Which is Which is Bigger?Bigger?
Madonna: Madonna: The The
GenotypeGenotype
EvitaEvitaEvita: Evita: The Motion The Motion PicturePicture
ACM 97
The Movie The Movie WinsWins
Madonna: Madonna: The The
GenotypeGenotype
EvitaEvita
4 Gbytes4 Gbytes ~1 Gbyte~1 Gbyte
Evita:Evita:The Motion PictureThe Motion Picture
ACM 97
Genetic ComplexityGenetic Complexity Human Genome ~ 1 GbyteHuman Genome ~ 1 Gbyte Individual difference ~ 0.25%Individual difference ~ 0.25%
ACM 97
Genetic ComplexityGenetic Complexity Human Genome ~ 1 GbyteHuman Genome ~ 1 Gbyte Individual difference ~ 0.25%Individual difference ~ 0.25% Loss less compression 2:1Loss less compression 2:1 Individual ~ 1.2 MbytesIndividual ~ 1.2 Mbytes
ACM 97
Genetic ComplexityGenetic Complexity Human Genome ~ 1 GbyteHuman Genome ~ 1 Gbyte Individual difference ~ 0.25%Individual difference ~ 0.25% Loss less compression 2:1Loss less compression 2:1 Individual ~ 1.2 MbytesIndividual ~ 1.2 Mbytes
You fit on a floppy diskYou fit on a floppy disk
ACM 97
Genetic Diversity?Genetic Diversity?
Human population < 3.7 TbytesHuman population < 3.7 Tbytes Compress relatives < 1 TbytesCompress relatives < 1 Tbytes Like a big web site!Like a big web site!
ACM 97
Genetic Diversity?Genetic Diversity?
Human population < 3.7 TbytesHuman population < 3.7 Tbytes Compress relatives < 1 TbytesCompress relatives < 1 Tbytes Like a big web site!Like a big web site! Diversity of all animals on earth?Diversity of all animals on earth? About the size of the web in a few About the size of the web in a few
years!years!
ACM 97
ACM 97
The Ultimate ComputerThe Ultimate Computer Learning more Learning more
about the brain about the brain every dayevery day
ACM 97
ACM 97
ACM 97
ACM 97
The Ultimate ComputerThe Ultimate Computer Learning more Learning more
about the brain about the brain every dayevery day
AI will happenAI will happen Computers with Computers with
same power in 20 same power in 20 to 30 yearsto 30 years
Brain has no Brain has no Moore’s LawMoore’s Law
ACM 97
Programming The Ultimate Programming The Ultimate ComputerComputer When computers are as smart as When computers are as smart as
humans, how do you program humans, how do you program them?them?
Human takes 20 years to boot!Human takes 20 years to boot!
ACM 97
Programming The Ultimate Programming The Ultimate ComputerComputer When computers are as smart as When computers are as smart as
humans, how do you program humans, how do you program them?them?
Human takes 20 years to boot!Human takes 20 years to boot! Must we teach them?Must we teach them?
ACM 97
Humans as SoftwareHumans as SoftwareUploading to become a programUploading to become a program
ACM 97
ACM 97
ACM 97
Humans as SoftwareHumans as SoftwareUploading to become a programUploading to become a program
ACM 97
Operating Systems for Human Operating Systems for Human SoftwareSoftware
Housing uploadsHousing uploads Treat human upload as an Treat human upload as an
application programapplication program Provide memory & other Provide memory & other
servicesservices Peripherals to deal with real Peripherals to deal with real
worldworld
ACM 97
Separated at Birth?Separated at Birth?
Windows 2.0 1987Windows 2.0 1987 Windows 2047Windows 2047
ACM 97
Separated at Birth?Separated at Birth?
MultitaskingMultitasking Multiple personalitiesMultiple personalities
Virtual memoryVirtual memory
Windows 2.0 1987Windows 2.0 1987 Windows 2047Windows 2047
Virtual memoryVirtual memory
ACM 97
Separated at Birth?Separated at Birth?
MultitaskingMultitasking Multiple personalitiesMultiple personalities
Virtual memoryVirtual memory
Compatible withCompatible withDOS applicationsDOS applications
Compatible with meat Compatible with meat based humansbased humans
GUIGUI You & IYou & I
> 640 Kilobytes> 640 Kilobytes > 640 Petabytes> 640 Petabytes
Windows 2.0 1987Windows 2.0 1987 Windows 2047Windows 2047
Virtual memoryVirtual memory
ACM 97
See you in 2047!See you in 2047!
ACM 97NATHAN MYHRVOLD