[net.lang] Modern Software Tool Interface

david@ztivax.UUCP (03/07/86)

A more general interface to software tools is needed!

Any system should have at least one language with which it is easy 
(convenient) to build software tools.  That is clearly one reason UNIX
is so popular.

C on UNIX is nice because programs are always loaded with argc and
argv on the stack: main(argc,argv).  This makes it clearly obvious how
to handle command line arguments in a software tool.

Now we are seeing the emergence of window/icon/mouse oriented systems.
These do not support the paradigm of writing tools using command line 
arguments in any intuitive fashion.  Instead: pop-up menus (I thought
pop-ups were cold munchies bought by kids from the ice-cream man),
other icons, descreet values, etc are used by the USER to control
programs.  Somehow, a general interface between these things and the
implementing software should be supplied.

Right now I am using a Xerox Tajo system which is a super version of
the system Apple subsetted to make the Mac.  Menus, windows, mouse,
symbiote menus, ...  Lots of nice stuff.

The problem is, the interfaces to all these nice features are via
strongly typed libraries.  All program interfaces are set at compile
time.  No way to simply build quicky tools (like using pipelines in
UNIX) and still take any advantage of all the gimicks - or any
gimicks, for that matter.

Yes, you can write a new tool to interact with existing tools fairly
easily.  But you must compile it that way.

Perhaps these interfaces are too complex to ever be used in the same
way as pipes in UNIX.  However, I think it CAN be done, or else I would 
not be trying to do it!!

Any suggestions???


david smyth

seismo!unido!ztivax!david

herndon@umn-cs.UUCP (04/04/86)

  I too am concerned about the influx of new "tools".
These systems are quite convenient for users, since they
are graphic and a user can learn to use them in a matter
of hours.  For this reason, they are quite powerful,
economical, and worthy of a permanent place in the realm
of computer arts and sciences.  I think, though, that
calling the graphic window things "tools" is somewhat
misleading.
  The tool concept is also used to mean (by Kernighan,
et. al) to mean simple programs for doing things (like
'grep', 'sort', 'uniq', etc.) and the glue to put these
things together (shell, file redirection, pipes, arguments,
etc.) to form useful programming tasks.
  My concern is that the latter concept is being entirely
lost.  Things such as editor scripts (does anyone remember
them?) are now relatively rare, in spite of things like
'sed', ostensibly designed to replace them.  Graphic
interfaces exacerbate this loss because it discourages
users/programmers from thinking of editors/mailers/...
as programmable.  Aside from 'idioms' such as
  eqn | tbl | nroff
or
  ... | more
how often are interesting pipelines seen nowadays?

				Robert