Butler Lampson
Microsoft
August 2006
People have been inventing new ideas in computer systems for nearly four decades, usually driven by Moore's Law. Many of them have been spectacularly successful: virtual memory, packet networks, objects, relational databases, and graphical user interfaces are a few examples. Other promising ideas have not worked out: capabilities, distributed computing, RISC, and persistent objects. And the fate of some is still in doubt: parallel computing, formal methods, and software reuse. The Web was not invented by computer systems researchers. In the light of all this experience, what will be exciting to work on in the next few years?