Path: utzoo!attcan!uunet!mcsun!ukc!edcastle!aiai!jeff From: jeff@aiai.ed.ac.uk (Jeff Dalton) Newsgroups: comp.lang.prolog Subject: Re: Prolog's Pitfalls? Message-ID: <2976@skye.ed.ac.uk> Date: 12 Jul 90 20:27:22 GMT References: <1990Jun18.221058.11331@chaos.cs.brandeis.edu> <3305@goanna.cs.rmit.oz.au> <2952@skye.ed.ac.uk> <76740@cc.utah.edu> Reply-To: jeff@aiai.UUCP (Jeff Dalton) Organization: AIAI, University of Edinburgh, Scotland Lines: 79 In article <76740@cc.utah.edu> RCAPENER@cc.utah.edu writes: >But Jeff, Richard is making a *VERY* valid critique here! More >than once I have observed people with Pascal backgrounds drag >that accursed language over into *EVERY* other language out there. Richard is making a valid point, but so am I. In the passages you quote, Richard is saying: (1) when someone finds a language obscure this has much to do with the person and the instructional material; and (2) having to pass all required parameters to a Prolog procedure isn't a problem if you write Prolog instead of Pascal-in-Prolog. Well, there's more to it than that, and I have tried to say something for the other side. In particular, when someone does *not* find a language obscure, that certainly says something about them; just as in the other case, however, it is less clear what it says about the language. For almost any subject, there are some people who find it clear as can be and some who find it difficult. And that shouldn't be surprising; we can't expect everyone to have the same skills, even within a given field. I certainly cannot agree with you when you say: Seriously, if someone finds PROLOG all that difficult to learn, I question whether they have what it takes to be an effective Computer Scientist. I wouldn't care to make such a significant test out of any single issue. Besides, who ever said only computer scientists were worth considering? On the other hand, a language does have some effect on whether or not people find it obscure. Indeed, we can often identify some of the weaknesses of particular languages in this way. We can't forget about this just because the people and the teaching also have an effect. As for the point about Pascal-in-Prolog, yes, that can be a problem. However, again I don't think that's all there is to it; and indeed I have seen some pretty poor code in cases that are not just due to the influence of Pascal or other languages of that sort. >Yes, sad but true, the effects of a previous language DO have an >effect on learning a new language. I haven't said otherwise. >By the way, do you really know people that have PROLOG as their first >computer language? Yes. >Prolog (shouldn't it be in all caps?) I hope not. >Prolog ... as a declarative logic language >has its uses, and it should be used differently than Pascal is. I'd like to remind you at this point that when Richard said "a *very* good way to experience a language X as awkward is to try to use it as if it were language Y which you already know", he was making one of "several points that can be made even without knowing anything about Prolog". Some of my remarks should be read in the same light. I would not say Prolog should be used as if it were Pascal; but on the more general question I would still say that using one language in the style of another can have good results. You may wish the world were simpler and that this were not so, but in my experience it happens to be true. >People that gripe about the awkwardness of PROLOG, are really going >to have fun when they try using Smalltalk or some other object-oriented >language for the first time! It wasn't my intention to contribute to a language war, and I hope one does not develop. However, the fact is that some of the people who find Prolog awkward are already happy with some object-oriented language. -- Jeff