Newish interview with Ellen Ullman.
Right now, I'm working on an essay about artificial life for Harper's magazine, and all I can say about it is this: We face a future in which we will encounter cybernetic devices that more and more closely simulate the characteristics we think of as "human." We as a society will have to talk about all this. The discussion should -- must! -- involve a wider swath of society than engineers and researchers. The definition of alive and sentient is much too important to leave to engineers, who will simply build whatever they can, left to their own devices. For the last half century, we have allowed engineers to dominate the discourse about technology. At this juncture, when engineers proclaim themselves on the verge of creating "life," a much wider section of society must participate.
What happens to people, like myself, who have been involved with computing for a long time is that you begin to see how many of the "new" ideas are simply old ones coming back into view on the swing of the pendulum, with new and faster hardware to back it up. In the time I've been involved in computing, we have swung from the centralized model (the mainframe, with dumb terminals handing off it) to the distributed model (client-server computing, a database and with most of the action happening on a smart, user-oriented front end), then halfway back to the centralized model (everything of consequence on the server, the user interface consisting of a rather dumb browser interface to the Web).
Now we're trying to add intelligence to the user interface with XML, to allow the client side (the user workstations) to "understand" the data types they're receiving, as opposed to everything just being text, as it is in the browser. I expect I'll live long enough to see client-server come back in a new disguise, then (if I'm lucky, living long and prospering) another return to the centralized model. What happens over the years is that you see there are certain intractable problems that don't have a single solution. Engineering is not about arriving at the answer but only about trade-offs, about finding the best working solution for the given situation.
As one sees solutions come and go over the years, it's hard not to feel cynical when newcomers trumpet a repackaged idea as the new wisdom. This, I think, is the challenge for old programmers: remembering that computer technology -- always thought of as "new," though it is now nearly two generations old -- has a shallow memory, to its detriment.