Fred Brooks on "computer science"
I recently came across the speech given by Fred Brooks (author of The Mythical Man Month and other wonderful works) on receiving the ACM Allen Newell Award in 1996. In this speech, titled "The Computer Scientist as Toolsmith," he says many interesting things. I'll quote a couple. First, he writes that "computer science" is above all an engineering discipline, concerned with "systems design problems characterized by arbitrary complexity":
Examples are the intricate demands upon operating systems, or knowledge webs, or computer networks. The arbitrariness is inherent—the requirements and constraints spring from a host of independent minds.
These problems scandalize and discourage those who approach them from backgrounds of mathematics and natural science, and for different reasons. Mathematicians are scandalized by the complexity—they like problems which can be simply formulated and readily abstracted, however difficult the solution. The four-color problem is a perfect example.
Physicists or biologists, on the other hand, are scandalized by the arbitrariness. Complexity is no stranger to them. The deeper the physicists dig, the more subtle and complex the structure of the “elementary” particles they find. But they keep digging, in full faith that the natural world is not arbitrary, that there is a unified and consistent underlying law if they can but find it.
No such assurance comforts the computer scientist. Arbitrary complexity is our lot, and here more than anywhere else we need the best minds of our discipline fashioning more powerful attacks on such problems.
It's a useful reminder that "computer science" is not [just] mathematics or physics, and that there are many challenging things to be done in computing that do not involve theorems or physical laws.
Second, he challenges what he saw as the goals of AI research to replace human intelligence:
If indeed our objective is to build computer systems that solve very challenging problems, my thesis is that
IA > AI
that is, that intelligence amplifying systems can, at any given level of available systems technology, beat AI systems. That is, a machine and a mind can beat a mind-imitating machine working by itself.Someday a computer may beat the world champion in chess. When that day comes, I should like to see the world champion equipped with a powerful and suitable IA chess tool, and then play against the AI system. I’ll bet on the IA team.
Amen.
So are you saying there is not "science" in Computer Science? Fred Brooks description makes computer scientists look a lot like tax lawyers who have to keep track of all the litigation that affects the advice they give. Somehow I really don't accept this idea because there are plenty of people who study computer science in a completely isolated fashion, but do not implement real world code. That is there is a difference between computer science and computer engineering.
Posted by: Anon | October 23, 2007 at 08:45 AM
Greentings
The link to the speech seams to be broken. I would like to take a closer look at it. Could you provide the right link? Thanks
-- Thanks Pablo, it is fixed.
Posted by: Pablo Chacin | October 26, 2007 at 07:20 AM