Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: notesfiles
Path: utzoo!watmath!clyde!cbosgd!ihnp4!qantel!hplabs!hp-pcd!orstcs!tgd
From: tgd@orstcs.UUCP (tgd)
Newsgroups: net.ai
Subject: Re: Any data on programmer productivity
Message-ID: <14100005@orstcs.UUCP>
Date: Wed, 6-Nov-85 12:59:00 EST
Article-I.D.: orstcs.14100005
Posted: Wed Nov  6 12:59:00 1985
Date-Received: Mon, 11-Nov-85 06:49:17 EST
References: <526@ihwpt.UUCP>
Organization: Oregon State University - Corvallis, OR
Lines: 32
Nf-ID: #R:ihwpt:-52600:orstcs:14100005:000:1997
Nf-From: orstcs!tgd    Nov  6 09:59:00 1985

The discussion thus far has centered on the raw speed of lisp machines
versus time-shared machines.  It was my impression that the original
question referred more to the programming environment.  Lisp machines
generally have a much better integrated programming environment than main
frames.  

I don't have any hard evidence concerning the relative productivity of
programmers on mainframes and in dedicated programming environments, but I
can supply some anectodal evidence comparing  the Interlisp-D environment
and the unix/franz/emacs environment on vaxen.  Interlisp-D is far superior
to franz.  The display-based structure editor is extremely powerful, the
system tracks all changes to files and permits you to save "in-core" changes
back out into source files.  It is smart enough to recompile only those
functions that have changed.  It supports the construction and incremental
maintenance of masterscope databases (a wonderful interactive cross-refernce
facility).  It provides a large set of tools for implementing graphical
browsers and displays to user datatypes.  It includes a nice WYSIWIG text
editor and drawing tools.  I estimate that I am twice as effective at
solving simple problems In Interlisp-D as in franz.  I would never even
attempt constructing a large system in franz.  There isn't even a simple way
(to my knowledge) in frnz to find out what the arguments to a function are,
let alone finding a list of the currently defined functions.  Lisp machines
provide these features of course (in Interlisp-D, the ?= command does this).

I would be very interest6ed to see some objective studies of programmer
behavior comparing systems such as these.  I would be particularly
interested in comparisons between the Interlisp-D and SYmbolics programming
environments.  There have been many gripes on the net about the difficulty
of learning "lisp machines", but I suspect that these apply mostly to
Symbolics/LMI/TI machines rather than to Interlisp-D.  

--Tom Dietterich