Path: utzoo!attcan!uunet!mcsun!ukc!edcastle!lfcs!jha From: jha@lfcs.ed.ac.uk (Jamie Andrews) Newsgroups: comp.lang.prolog Subject: Re: Balance between theory and implementation Summary: European Programming Language Agency... hmm... Message-ID: <4992@castle.ed.ac.uk> Date: 2 Jul 90 16:10:52 GMT References: <37305@ucbvax.BERKELEY.EDU> Reply-To: jha@lfcs.ed.ac.uk (Jamie Andrews) Organization: Laboratory for the Foundations of Computer Science, Edinburgh U Lines: 48 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"