text-only page produced automatically by LIFT Text Transcoder Skip all navigation and go to page contentSkip top navigation and go to directorate navigationSkip top navigation and go to page navigation
National Science Foundation Home National Science Foundation - Computer & Information Science & Engineering (CISE)
Computer & Information Science & Engineering (CISE)
design element
About CISE
Funding Opportunities
Advisory Committee
Career Opportunities
Advisory Committee for Cyberinfrastructure
See Additional CISE Resources
View CISE Staff
CISE Organizations
Advanced Cyberinfrastructure (ACI)
Computing and Communication Foundations (CCF)
Computer and Network Systems (CNS)
Information & Intelligent Systems (IIS)
Proposals and Awards
Proposal and Award Policies and Procedures Guide
Proposal Preparation and Submission
bullet Grant Proposal Guide
  bullet Grants.gov Application Guide
Award and Administration
bullet Award and Administration Guide
Award Conditions
Merit Review
NSF Outreach
Policy Office
Additional CISE Resources
Assistant Director's Presentations and Congressional Testimony
CS Bits & Bytes
CISE Distinguished Lecture Series
Cyberlearning Webinar Series
Data Science Webinar Series
Smart & Connected Health Webinar Series
WATCH Series
CISE Strategic Plan for Broadening Participation
Keith Marzullo on Serving in CISE
Cybersecurity Ideas Lab Report
Other Site Features
Special Reports
Research Overviews
Multimedia Gallery
Classroom Resources
NSF-Wide Investments

Save the dateEmail this pagePrint this page
Steps towards the Reinvention of Programming

October 19, 2006 4:00 PM  to 
October 19, 2006 6:00 PM
NSF, Room 375

Alan Kay
2004 Recipient of the Charles Stark Draper Prize for the vision,
conception, and development of the first practical networked personal computers


Is the current complexity necessary, or could our intuitions be right that alternate ways to do all levels of software, from the end-users, UIs, apps, net, etc., down to the metal, might be much more expressive, compact, and even more efficient? Could there be a "Moore's Law for Software" - a factor of 100 in all critical areas - lurking behind today's mostly late ‘60s software approaches and architectures?  Certainly programming needs more than incremental improvements. Code is too large, complex, weak, costly, buggy, insecure, unintegrated, inexpressive, and (let’s face it) ugly. Programming really needs to be reinvented. But how to get started? A giant step towards reinventing programming would be to make a practical working mathematical model of a complete personal computer system (including the equivalents of OS, applications, UI, development system, etc.) in perhaps as little as 20,000 lines of code. We've identified about a dozen powerful principles that have been invented by the computer field over the years that we think can bring about this large reduction in size of code and increase in expressiveness. A successful result would point the way towards a more complete reinvention of programming that we so desperately need.

This event is part of Previous Distinguished Lecture.

Meeting Type

Rita Koch, (703) 292-7885, rkoch@nsf.gov

NSF Related Organizations
Directorate for Computer & Information Science & Engineering


Save the dateEmail this pagePrint this page
Back to Top of page