Opinion 26: Maple Should Be Made Upward-Compatible and Completely Source-Readable

By Doron Zeilberger

Written: Sept. 23, 1998

About ten years ago, after short flirtations with Macsyma and Mathematica, I fell in love with Maple. It was such a neat system, so open and versatile. For example, Mike Monagan told me how to view the source-code of most of the available procedures by setting: "interface(verboseproc=2);" and then, e.g., typing "print(gcd);", to see how the gcd function was programmed.

This is still the love of my professional life, and it is still far better than anything else. Even though in the meantime it got a little Wolframized. First, it is not possible to view the built-in functions, in whatever (I guess C) language they are written in, but more seriously, and almost scandalously, IT IS NOT UPWARD COMPATIBLE!

One of the diseases of our current commercial software industry is the Gatesian sin of making things obsolete on purpose, by making minor changes. This forces the customers to keep pouring money into the pockets of the Gateses and other sleazy moguls. By not making it upward compatible, it forces people to buy the latest (and often worse) version.

In the case of Maple, however, the REAL reason is not to make more money, but to genuinely ``improve'' the system. Frankly, it worked just fine for me until now. If it ain't broke, don't fix it. But if you do want to improve, PLEASE KEEP IT UPWARD COMPATIBLE!

Maple, that was, and still largely is, a grass roots endeavor, started in Academia, by such pioneers as Geddes, Gonnet and Char, and continued by Monagan, Leong, Watt and others, should be sensitive to to the mathematical wish to be immortal. Because Maple is meant to be DOING mathematics, and Used by mathematicians to do NEW Mathematics. In my own work with Shalosh, I write many Maple programs that Prove things. It is a great nuisance having to adapt the programs (i.e. the proofs), every time a new version comes out.

Also, if one uses Maple to prove theorems, it is important that ALL THE CODE, and even the compiler, be out-in-the-open, for anyone to see. Testing a procedure as a black box is merely empirical verification.

So let's hope that Maple will start to be upward-compatible, and that it will be completely openly viewable. But, until then, may I recommend that YOU DO NOT RUSH TO BUY the latest version, unless you have to, because it is not necessarily any better, and sometimes, in some respect, it is worse. But if you do buy the latest version, don't delete the previous versions! Nowadays disk-space is cheap, and there is plenty of room for past versions. For example, on our system, we have three commands: mapleV3, mapleV4, and mapleV5. This way, Maple programs written in the past would be usable in the future.

Perhaps it is time for a new "Maple" altogether, that will start from scratch, will be completely public-domain And freely available (like Dave Bayer and Mike Stillman's excellent Macaulay system for Groebner bases), and upward-compatible.


Doron Zeilberger's Opinion's Table of Content

Doron Zeilberger's Homepage