Running Unix programs under LispOS

Luca Pisati pisati@nichimen.com
3 May 97 10:36:34 -0700


  At 7:48 PM -0500 5/2/97, Mike McDonald wrote:
  >  We will undoubtably make mistakes and false assumptions as we
  >proceed forward. But we have an advantage, we're writing software. If
  >we make a mistake, we can fix it. Just rewrite that portion. Heck,
  >people keep claiming lisp is really good at being modifiable. :-)
  
  Coding mistakes are easy to fix.
  
  Small design mistakes are pretty easy to fix, though not as much so.
  
  The larger design mistakes become, the harder they are to fix.  One
  project
  I'm working on was originally going to be a pretty straight port from one
  platform to the next, but thanks to its design mistakes it's easier to do
a
  ground-up rewrite.
  
Don't tell me ... We have the same problem. After our code evolved for
more than 13 years, and moved from Symbolics to SGI to NT, we are now
rewriting a lot of stuff from the ground up. Still it is much easier to
rewrite with Lisp than it would be using C++.  The approach we are
taking is something like:

Rewrite an entire functional package (e.g. UI), still keeping the existing
one fully working.  Then, when the new code is about to be ready, we
do swap it in.  Lisp helps, and editing tools as Emacs do help a lot, too.

I think we can pay the price of uncertain initial design.  If, at least, we
are clean in the software structure (mudules, packages, APIs), an
eventual rewriting or redesign can be pretty simple.