From: axs@cs.bham.ac.uk (Aaron Sloman)
Newsgroups: fj.mail-lists.x-window
Subject: Re: Software development environments --- request for advice
Date: 30 Sep 92 10:07:58 GMT
Distribution: fj
Organization: School of Computer Science, University of Birmingham, UK

Date: 30 Sep 92 06:59:18 GMT
Message-Id: <BvDq2u.42I@cs.bham.ac.uk>
Newsgroups: sci.engr.control,comp.object,comp.graphics,comp.lang.c,comp.lang.c++,comp.lang.fortran,comp.windows.x,comp.windows.misc,sci.engr,comp.software-eng

eechris@cybaswan.UUCP (Chris Jobling) writes:

> Date: 28 Sep 92 12:58:10 GMT
> Reply-To: eechris@pyr.swan.ac.uk (Chris Jobling)
>
> Dear Netters,
>
> 	I am calling for information that will enable us to make some
> software aquisition decisions to support our research over the next few
> years.  I hope that you can help by passing on your own experiences.
>
>
> 	We are developing graphical tools for control systems design.
> The tools we are developing are essentially schematic diagram editors.
> We want to use an object-oriented language for the code, X-11 graphics
> for the user interface components and GKS or PHIGS for the application
> graphics.  We desire also reasonably sophisticated and easy to use code
> development, documentation and project support tools for version
> control and configuration management across a multi-programmer project.

> .....

It sounds to me as if the Poplog system together with its X
interface has everything you need, provided that you have machines
on which it runs (e.g. Suns HP Unix workstations, DECStations,
VMS+X). Because it includes incremental compilers, masses of online
documentation, facilities for producing your own libraries and
documentation, facilities for linking in C programs, and a rich
interface to X that allows you to link in widget sets, it allows
very rapid software development, especially when you need to do
rapid prototyping to explore the nature of your problem (e.g. how
users will react to various features of an interface.)

For multi programmer development you can use the fact that
programmer A extending a part of the library can use a private
library that "shadows" the shared library used by others, and
progammer B can use a different private library shadowing a
different part of the system. When the extensions are ready they
go into the shared library.

SCCS or RCS can add version control, etc.

There's a lot of experience using Poplog in the computer science
department at Aberystwyth for purposes similar to yours, I think
(ask Chris Price for comments).

There's an existing object oriented subsystem in Poplog, called
Flavours, which a lot of people have already used over the last few
years. It uses message sending syntax, provides multiple inheritance
and is very flexible for exploratory software development. (e.g. you
can extend class definitions after creating instances).

A new object oriented system, objectlass, is soon to be added. It is
more efficient and in some ways more general, being modelled partly
on the Common Lisp Object system (CLOS), supporting multi-methods,
ie. methods which are selected on the basis of the types of ALL
their arguments, not just the first argument (which is all that
message sending gives you: message sending is just syntactic sugar
for procedure calling that switches on the type of the first
argument.)

The main Poplog language is Pop-11, which has much of the power of
Lisp, especially for interactive development, with a more readable
Pascal-like syntax. E.g. here's a taste of the syntax showing how to
loop in parallel down two lists looking for related items:

    for item1, item2 in list1, list2 do
        if related(item1, item2) then
            record(item1, item2)
        endif
    endfor

UK academic sites can get Poplog from Sussex University for a very
low charge. Contact
    alim@cogs.sussex.ac.uk

for the latest information and price list. If you want the
objectclass extension, you will probably have to ask for it
separately, as it is not yet part of the official distribution of
poplog, though it will be soon.

Non UK academics or commercial customers have to get Poplog from the
main distributors

    Integral Solutions Ltd
    Unit 3, Campbell Court
    Bramley,
    Basingstoke,
    Hampshire,
    RG26 5EG
    Phone   0256 882028     Fax 0256 882182
    Email:  isl@integ.uucp or isl@integ.co.uk.ac


I hope this helps.
Aaron
-- 
Aaron Sloman, School of Computer Science,
The University of Birmingham, B15 2TT, England
EMAIL   A.Sloman@cs.bham.ac.uk
Phone: +44-(0)21-414-3711       Fax:   +44-(0)21-414-4281