[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: C vs. Lisp

  Date: Tue, 22 Jan 91 15:26 EST
  From: Barry Margolin <barmar@think.com>
  Subject: C vs. Lisp
  To: Kent M Pitman <KMP@stony-brook.scrc.symbolics.com>
  cc: gooch@tijeras.sw-sw.dialnet.symbolics.com, magerman@neon.stanford.edu, 
      Date: Tue, 22 Jan 1991 14:14-0500
      From: KMP@STONY-BROOK.SCRC.Symbolics.COM (Kent M Pitman)
      If we are ever to solve the problems of interoperability, we need an
      external source of a checklist (a Manual Of Uniform Linguistic Features)
      which assigns names to all linguistic features so that (a) you can
      compare on an even plane what features are supported by languages and
      what are not and (b) you can cross-call between languages when the level
      of support you need on both sides is the same.
  Just thought I'd mention that there is an ANSI and/or ISO committee that
  is supposedly working on language interoperability.

I think object oriented programming could be one way to achieve such
interoperability.  An object has a well defined behavior and interface
that is not too hard to specify in a language independent way.  Such a
language independent object specification might be simpler than say
CLOS objects, but much of CLOS is not needed once you leave a
development environment.  Our CRONUS distributed operating system has
language and machine independent definition of objects.

Persistant object databases should certainly provide access from multiple

Also, Lisp and C are becoming more similar to some extent.  Lisp worlds are
getting smaller (slightly) and C programs that provide features similar to Lisp
are getting larger.  Object oriented programming is at least
conceptually similar in both languages, and lead toward extentions
like dynamic type checking an automatic garbage collection in C.
X window programming in C provides atoms, and requires what are basically
keyword and closures.

In communities that may not consider themselves hotshot programers,
C/Lisp hybrids such as xlisp and siod (scheme-in-one-defun) are useful
for rapid prototyping.  Xlispstat is a variant of xlisp that is
popular for prototyping in statistics even though it is missing things
like a compiler and an adequate debugger.