vanroy@pisces.uucp (06/28/90)
Theoreticians need feedback from experiments to see if their ideas are practical. Otherwise logic programming will become a branch of mathematical logic, with no regard to computability or efficiency. For example, there has been much good theoretical work on dataflow analysis for Prolog, but few implementations. Hence there is no data (except for a few small trivial examples) to show whether any of the approaches is effective, or whether they are a waste of time. This area is still largely unexplored. There is a common notion that implementation is somehow lower than theory, which is somehow nobler. This notion is misguided. Both theory and implementation are human activities, requiring the full range of human creativity. Without implementation to guide it, theory is blind. Sincerely, Peter Van Roy
jha@lfcs.ed.ac.uk (Jamie Andrews) (07/02/90)
In article <37305@ucbvax.BERKELEY.EDU> vanroy@pisces.uucp () writes: > Theoreticians need feedback from experiments to see if their ideas are >practical. Otherwise logic programming will become a branch of mathematical >logic, with no regard to computability or efficiency. I agree. Unfortunately, the life-cycle of an idea in logic programming (and programming languages generally) seems to be very long, at least in terms of work-years. To really test an idea, you need lots of people to program in a language incorporating the idea. They won't do so unless the implementation is pretty good. So you need people to work on the language for quite a while before getting it into a state where people will be able to test it on non-trivial problems. Masters' students probably can't be convinced to do this kind of thing, and PhD students definitely can't. The researcher can't do it because no one would want to publish a paper about "just another implementation", and the danger would be that he or she would get behind in other research. So the only way to test ideas is to mount large research projects to employ people to develop, test, and use the language with the idea. By the time all this is done, people are so committed to the project that they are less likely to admit that the idea actually did fail on testing. Maybe what we need is Languages Agencies which, like astronomical and space research agencies, accept proposals for little ideas to be incorporated into experimental languages, and bigger proposals for larger projects. The Agency would build the language (= spaceship) incorporating all the little ideas (= experiments), test them out on various problems (= run the experiments), and tell people how each feature performed (= distribute the data to the proposers). > There is a common notion that implementation is somehow lower than theory, >which is somehow nobler. This notion is misguided. Both theory and >implementation are human activities, requiring the full range of human >creativity. Without implementation to guide it, theory is blind. Indeed. Computer science is ultimately about the human activity of programming, and needs experiment to supplement the theoretical activity. --Jamie. Original material copyright (c) 1990 by Jamie Andrews; jha@lfcs.ed.ac.uk for distribution only on unmoderated USENET newsgroups. "The heat was hot and the ground was dry but the air was full of sound"