Citation: J. ACM 50, 1 (Jan. 2003), pp 70-72.
There have been three broad waves of applications for computers: simulation, communication, and embodiment (by I mean non-trivial interactions with the physical world). Currently the communication wave is in full flood, and the first signs of embodiment are starting to appear. I have chosen two problems whose solution will make a big difference both to computer science and to the larger world of which computing is now such an important part. One is an example of embodiment: cars that don’t kill people. The other is a technology which applies across the board: writing programs automatically from specifications.