Lunch with George Carrette



Large parts of Mathematica continue to be written in C, and if GJC's
assertion made sense, then Maplesoft would be the big winner. They do
define most of Maple in Maple.

The version 4.1 of Mathematica I have installed explains..

"Mathematica is one of the more complex software systems ever 
constructed. Its source code is written in a combination of C and 
Mathematica, and for Version 4, the code for the kernel consists of 
about 650,000 lines of C and 130,000 lines of Mathematica. This 
corresponds to roughly 18 megabytes of data, or some 18,000 printed 
pages.  "

It says that another 600,000 lines of C are in the front-end.

(I attribute the claims about the complexity of Mathematica code 
compared to other systems as ignorant marketing hype.)

The debate about writing a CAS in its own language has a history going
back at least 30 years. It is an extra burden on a language to serve two
different purposes, and if it does either or both imperfectly, the 
philosophical
argument in favor tends to lose. That is what has generally happened, I 
think.


I agree with GJC that software tools have advanced in the last 20 or 30 
years. Some of them are almost as good as the tools used for Lisp, 20 or 
30 years ago! 
Things like defsystem.
Intelligent source-code editing.
Interactive debugging.

I think that there have been good ideas in version control, documentation,
and modularity that have come into play in Macsyma and Maxima.

Many good new ideas came into Common Lisp and have only partially been 
adopted in Maxima.

....