Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!mips!spool.mu.edu!munnari.oz.au!goanna!ok From: ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe) Newsgroups: comp.lang.prolog Subject: Environments (was Re: Arity's so-called upgrade) Message-ID: <5024@goanna.cs.rmit.oz.au> Date: 21 Mar 91 13:29:59 GMT References: <11768@uhccux.uhcc.Hawaii.Edu> <12066@uhccux.uhcc.Hawaii.Edu> Organization: Comp Sci, RMIT, Melbourne, Australia Lines: 65 In article <12066@uhccux.uhcc.Hawaii.Edu>, todd@uhunix1.uhcc.Hawaii.Edu (Todd Ogasawara) writes: > programmers all use clumsy primitive tools to do development? The > integration of a good development environment with a functioning and > optimized interpreter or compiler is the key to professional software > development. > Yes, but Turbo Prolog survives as PDC Prolog. I'm not saying that PDC > Prolog is better than Arity. If I did, I would have switched to it long ago > since it does provide a lot of the environmental features I want to see it > Arity. > While I would agree that the "Prolog aspects" of Arity Prolog meet all the > requirements needed to write "Prolog" programs, the package itself falls > far short of what "professional" programmers expect to be provided in a > professional development system. I think there is something of great value to all of us to be extracted from this discussion, and I think it warrants a new thread. I have _not_ used Arity/Prolog, and I _have_ used Turbo Prolog. I found the Turbo environment to be a pain where I sit down, and that's throwing roses at it. Turbo wanted me to do everything _it's_ way in stupid little tiny windows. I would *eagerly* have sacrified colour and all their nasty menus for a really simple interface which just sat there and did what I told it. It is difficult for me to imagine anything more painful to use, and no, I would not regard an upper case model 33 teletype as more painful than Turbo's environment. So there's a very important question. What DO people want in a Prolog development environment? I would like things like - find-definition - incremental cross-referencer (like UTIL:IXREF only graph based) - graphical profiler (gauge) - partial execution tool, with a large kit of templates to work from - data flow checkers (mode analysis &c) - OPTIONAL type checkers (like NU Prolog's four) - declarative debugging tools - some kind of "smart" documentation facility (something like the Eiffel tools, perhaps) - a system which associates test data with program components, without using source trick like 'end_of_file' Some of these things are in LPA MacProlog (in fact, if only LPA MacProlog was closer to Edinburgh Prolog I would like that environment a lot), some of them are in SICStus Prolog, some of them are in NU Prolog, some of them exist as separate tools. Of major importance to me is - a LARGE library of working reusable components (what would Eiffel be without its library?) I think the Quintus Prolog library is about 1/10th of the "right" size for a Prolog library. (I have given up waiting for an answer to the question of what cones are FOR, by the way...) As I recall the Turbo Prolog 2.0 environment, it addressed *none* of these issues. (It had a type checker, but it wasn't optional, and the type system was *pathetic*.) So what ARE the things that professional programmers expect in a professional development system that Arity fails to provide, and who does provide them? What, for goodness' sake, is it that Turbo does right? -- Seen from an MVS perspective, UNIX and MS-DOS are hard to tell apart.