bq.. We’ll also spend a big percentage of the computer power on defense mechanisms such as self-healing software (to root out bugs and adapt to changing environments) and aggressively defensive virus antibodies. We’ll need such software to protect against “social engineering” attacks, such as email that purports to come from your boss and asks you to open an attachment.
Computer games in 2034 are likely to offer simulated worlds and interactive storytelling that’s more engaging than linear presentations such as those in most movies today. For this new entertainment, the simplest accomplishment we need is artificial actors rendered in real time in high-definition animation. Adapting stories to individual users will be much harder. Once solved, the resulting user interfaces will be much more appealing to a broad market than current computer games, which typically feature convoluted gameplay and simplified worlds.
p. I think Nielson’s right about one thing in particular. Much of that increase in computing power will be eaten up to produce better developer tools. Perhaps at that point logical languages like Prolog, or other higher level abstractions will become more popular.
Predictions of amazing breakthroughs in the future are something I always find somewhat amusing. People talk about faster computers enabling voice recognition. AI, etc. I think the real question is when will programming languages & tools advance enough to enable advanced services?
Speed will make some techniques more practical, but right now some of these are problems that we don’t know how to solve well AT ALL. It’s not as if voice & language recognition (unlike say 3D graphics) was something we could do well in software, just not fast enough. There are many artificial intelligence tasks that we can’t do at all, regardless of how much raw computing power we throw at them.
For a lot of those applications (pattern recognition, language processing, intelligent agants) what we need would seem to be a breakthrough in *techniques* like better languages, algorithms, etc.