The Next Fifty Years of Software

Slides:



Advertisements
Similar presentations
U Computer Systems Research: Past and Future u Butler Lampson u People have been inventing new ideas in computer systems for nearly four decades, usually.
Advertisements

ACM 97 Brenda Laurel Actor and Researcher, Computer and Theater Arts, Interval Research Corporation The Long Term Impacts of Information Technology on.
ACM 97 The Impacts of Information Technology on Business Communications Fernando Flores Founder, Chairman, and CEO of Business Design Associates.
Computer Skills Jeopardy Hardware/Software
Basic Computer Vocabulary
What is an operating system? Is it software?
ACM 97 The Next 50 Years of Networking Vinton G. Cerf Senior VP, Internet Architecture, MCI.
Windows Deployment Services WDS for Large Scale Enterprises and Small IT Shops Presented By: Ryan Drown Systems Administrator for Krannert.
ACM 97 Computing Alternatives Joel Birnbaum Hewlett-Packard Senior VP R&D, Director, HP Labs.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 19 Performance of Computer Systems.
1 Chapter Seven Large and Fast: Exploiting Memory Hierarchy.
James Tam Introduction to software Concepts covered What is software Categories of software and the differences between each The relation between software.
CS 300 – Lecture 20 Intro to Computer Architecture / Assembly Language Caches.
1 Netprog 2002 Network Terminology Motivation, Terminology, Layered systems (and other random stuff)
A Brief Introduction to the History of Computing - 2 ANU Faculty of Engineering and IT Department of Computer Science COMP1200 Perspectives on Computing.
Toward a truly personal computer
ACM 97 The Next 50 Years of Networking Vinton G. Cerf Senior VP, Internet Architecture, MCI.
1 DOS with Windows 3.1 and 3.11 Operating Environments n Designed to allow applications to have a graphical interface DOS runs in the background as the.
ACM 97 Bandwidth and Pizza Reed Hundt Chairman, Federal Communications Commission.
Operating Systems.
I Information Systems Technology Ross Malaga 3 "Part I Understanding Information Systems Technology" Copyright © 2005 Prentice Hall, Inc. 3-1 SOFTWARE.
Department of Computer and Information Science, School of Science, IUPUI Dale Roberts, Lecturer Computer Science, IUPUI CSCI.
Operating Systems What do you have left on your computer after you strip away all of the games and application programs you bought and installed? Name.
System Software System software deals with the physical complexities of how the hardware works. System software generally consists of four kinds of programs:
Adam Leidigh Brandon Pyle Bernardo Ruiz Daniel Nakamura Arianna Campos.
Chapter-4 Windows 2000 Professional Win2K Professional provides a very usable interface and was designed for use in the desktop PC. Microsoft server system.
Tennessee Technological University1 The Scientific Importance of Big Data Xia Li Tennessee Technological University.
1 Lecture 2 Introduction, OS History n objective of an operating system n OS history u no OS u batch system u multiprogramming u multitasking.
Quality Attributes of Web Software Applications – Jeff Offutt By Julia Erdman SE 510 October 8, 2003.
Physics 413 Chapter 1 Computer Architecture What is a Digital Computer ? A computer is essentially a fast electronic calculating machine. What is a program.
Chapter 2 – Software Part A. Definition Computer is made up of two components Hardware Physical components Software Instructions for the computer Two.
ACM 97 Educating The Barney Generation’s Grandchildren Elliot Soloway University of Michigan The Solid, Stable Middle of America.
Computing and the Web Operating Systems. Overview n What is an Operating System n Booting the Computer n User Interfaces n Files and File Management n.
CMPF124:Basics Skills for Knowledge Workers Introduction to Windows OS.
Chapter 3 Installing Windows XP Professional. Preparing for installation Pre-installation requirement; ◦ Hardware requirements ◦ Hardware compatibility.
2015/10/14Part-I1 Introduction to Parallel Processing.
OPERATING SYSTEMS Goals of the course Definitions of operating systems Operating system goals What is not an operating system Computer architecture O/S.
1 6/3/99 The Next 50 Years of Computing © 1999 UW CSE Some inspirations: ACM 97 50th Anniversary Conference Beyond Calculation: The Next 50 Years of Computing;
ACM 97 Computing Alternatives Joel Birnbaum Hewlett-Packard Senior VP R&D, Director, HP Labs.
ACM 97 Semiconductors Carver Mead Gordon and Betty Moore Professor of Engineering and Applied Science, California Institute of Technology.
Fundamental Programming: Fundamental Programming K.Chinnasarn, Ph.D.
ACM 97 Toward a truly personal computer Pattie Maes MIT Media Lab Firefly Network, Inc
Operating Systems. Overview What is an Operating System (OS) What is an Operating System (OS) What Operating Systems do. What Operating Systems do. Operating.
Computer Organization & Assembly Language © by DR. M. Amer.
1 Operating Systems: Principles and Practice Cpr E 308.
Austin Bogdanski. Computer hardware engineers research, design, develop, and test new computers and components such as processers, memory devices, circuit.
Introduction: Memory Management 2 Ideally programmers want memory that is large fast non volatile Memory hierarchy small amount of fast, expensive memory.
Essential components What your computer can do depends upon two things: the hardware your computer has, and the software that can be run on your computer.
Chapter 9: Networking with Unix and Linux. Objectives: Describe the origins and history of the UNIX operating system Identify similarities and differences.
ACM 97 Educating The Barney Generation’s Grandchildren Elliot Soloway University of Michigan The Solid, Stable Middle of America.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Slide 6-1 Chapter 6 System Software Considerations Introduction to Information Systems Judith C. Simon.
A computer contains two major sets of tools, software and hardware. Software is generally divided into Systems software and Applications software. Systems.
ACM 97 Semiconductors Carver Mead Gordon and Betty Moore Professor of Engineering and Applied Science, California Institute of Technology.
Copyright © 2004, Keith D Swenson, All Rights Reserved. OASIS Asynchronous Service Access Protocol (ASAP) Tutorial Overview, OASIS ASAP TC May 4, 2004.
HNC COMPUTING - Network Concepts 1 Network Concepts Network Concepts Network Operating Systems Network Operating Systems.
 A computer is an electronic device that receives data (input), processes data, stores data, and produces a result (output).  It performs only three.
Fly Swatter Game Let’s Swat It Now!!. A contract that defines acceptable rules and policies for computer use:
Computer Parts There are many parts that work together to make a computer work.
Introduction to Programming 1 1 2Introduction to Java.
Computer Architecture Furkan Rabee
Introduction CSE 410, Spring 2005 Computer Systems
Introduction to Computers - Hardware
William Stallings Computer Organization and Architecture 6th Edition
Introduction to Parallel Processing
Computer Architecture
Networks Software.
Computers: Hardware and Software
DSS Architecture MBA 572 Craig K. Tyran Fall 2002.
Lecture Topics: 11/1 Hand back midterms
Presentation transcript:

The Next Fifty Years of Software Nathan P. Myhrvold Chief Technology Officer Microsoft Corporation

THE NEXT 50 YEARS OF COMPUTING ACM 97 THE NEXT 50 YEARS OF COMPUTING

ACM 97 Copyright  1997 ACM, Association for Computing THE NEXT 50 YEARS OF COMPUTING Copyright  1997 ACM, Association for Computing The files on this disk or 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 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

James Burke Master of Ceremonies

NATHAN MYHRVOLD

The Next Fifty Years of Software Nathan P. Myhrvold Chief Technology Officer Microsoft Corporation

Software: The Crisis Continues! Nathan P. Myhrvold Unrepentant Programmer & Theoretical Physicist

A Brief History of the Universe Quantum gravitational fluctuation starts expanding A Brief History of the Universe 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

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

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

Bytes/$ DRAM Doubling time 964 days Growth rate 30% per year

Software Co. Stock Price

Software Co. Stock Price Doubling time 694 days Growth rate 44% per year

Log (Stock Price/DRAM $ per bit)

Nathan’s 1st Law of Software Software is a gas! It expands to fit the container it is in!

Windows NT Lines of Code Doubling time 866 days Growth rate 33.9% per year

Browser Code Growth Doubling time 216 days Growth rate 221% per year

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)

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

Nathan’s 3rd Law of Software Software growth makes Moore’s Law possible That’s why people buy new hardware - economic motivator

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

Nathan’s 4th Law of Software Software is only limited by human ambition & expectation It’s impossible to have enough

Nathan’s 4th Law of Software Software is only limited by human ambition & expectation It’s impossible to have enough New algorithms

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

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

The Software Crisis! Von Neumann had trouble

The Software Crisis! Von Neumann had trouble Software is always in “crisis”

The Software Crisis! Von Neumann had trouble Software is always in “crisis” Is there some limit to complexity? Will software ever grow up?

Of course not! 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!

The Perpetual Crisis Panacea solutions High level languages Object oriented programming Component software, ...

The Perpetual Crisis Panacea solutions High level languages Object oriented programming Component software, ... Benefits absorbed by rising expectations

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

Synthetic Actors

Mommy, look at my T. rex!

Future Software Techniques Genetic programming “Software husbandry” Tending virtual flocks How does software complexity compare to genetic complexity?

Which is Bigger? Evita Evita: The Motion Picture Madonna: The Genotype

Evita 4 Gbytes ~1 Gbyte The Movie Wins Madonna: The Genotype Evita: The Motion Picture

Genetic Complexity Human Genome ~ 1 Gbyte Individual difference ~ 0.25%

Genetic Complexity Human Genome ~ 1 Gbyte Individual difference ~ 0.25% Loss less compression 2:1 Individual ~ 1.2 Mbytes

Genetic Complexity You fit on a floppy disk Human Genome ~ 1 Gbyte Individual difference ~ 0.25% Loss less compression 2:1 Individual ~ 1.2 Mbytes You fit on a floppy disk

Genetic Diversity? Human population < 3.7 Tbytes Compress relatives < 1 Tbytes Like a big web site!

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!

The Ultimate Computer Learning more about the brain every day

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

Programming The Ultimate Computer When computers are as smart as humans, how do you program them? Human takes 20 years to boot!

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?

Humans as Software Uploading to become a program

Humans as Software Uploading to become a program

Operating Systems for Human Software Housing uploads Treat human upload as an application program Provide memory & other services Peripherals to deal with real world

Separated at Birth? Windows 2.0 1987 Windows 2047

Separated at Birth? Windows 2.0 1987 Windows 2047 Multitasking Multiple personalities Virtual memory Virtual memory

Separated at Birth? Windows 2.0 1987 Windows 2047 Multitasking Multiple personalities Virtual memory Virtual memory Compatible with DOS applications Compatible with meat based humans > 640 Kilobytes > 640 Petabytes GUI You & I

See you in 2047!

NATHAN MYHRVOLD