I like maxima very much - I prefer it's standard sin(x) over
mathematica's Sin[x]. I've done some scientific work on maxima
(combined with wxmaxima), but using maxima for solving a problem
takes an awful lot of time. Maxima userbase would grow significantly
if someone would make a new usable! integrated Maxima II system with
folowing features:
- Notebook interface, similar to Mathematica - using wxmaxima for the
GUI.
- one integrated package to download for any system including the
core (maxima), the gui (wxmaxima) and the plotter (gnuplot).
- consistent function names, like Integrate and NIntegrate in
mathematica - many functions would require only renaming. Some
functions would have to be written, but these would only pass the
problem to the relevant existant function. Some names are too long
(for instance make_list should be just list)
- a complete help system - it could be based on wxmaxima notebooks
with executable examples. Functions need to be described in a
consistent manner - look at Mathematica's help for inspiration. Each
function deserves it's own page, describing what it does, the inputs
and the outputs and a few examples.
- arrays and matrices should be united (again Mathematica)
- needed improvements to wxmaxima:
* 2D mathematical input
* editable plots (replotting via gnuplot when user for instance turn
on the gridlines)
* saving plots as pdfs
* loose the input line, write directly into the notebook (white
paper system)
The user spends most of the time figuring out strange maxima's quirks
and inconsistencies, functions with strange names. Most potential
users don't want to deal with downloading maxima and it's gui
wxmaxima separately. The command line maxima makes the user feel like
it's some ancient DOS program and inherently inferior to Mathematica
or any other CAS. Until Maxima isn't packaged into one application
with a proper gui and proper help it won't get any use from anyone
but the most hardcore geeks and old strange mathematical profesors.
Implementing a proper help, gui and consistent functions with
noncryptic names is much more inportant than implementing new
functions for some obscure mathematical uses and fixing some special
buggy integral. That's the truth.