In this ll1-discuss thread, Ken Anderson does some simple analysis of Lisp and Java programs to compare the use of mixins in lisp classes versus use of interfaces in Java
While AMP, the Lisp application, has about the same relative percentage of mixin's as JDK 1.4 has interfaces, its use of multiple inheritance seems fairly low, at first. However, the top 5 most popular interfaces to implement tend to be either Serializable, a Listener, or Runnable. In Lisp, Serializable is implemented by a method which is just written for the class if necessary. Listeners and Runnables are simply procedures in Lisp, not classes.
Further analysis could reveal interfaces struggling to get out of the Lisp code, and multiple inheritance and closures struggling to get out of the Java code.
Ken Anderson's previous quantitative efforts include statistics on function arguments and a comparison of Lisp and C performance.
Posted by jjwiseman at September 04, 2002 09:53 AM