[sage-devel] presentation about Maxima at Sage developer days



Ondrej

I am an Enginering educator with strong interest in engineering computing. I
have used Mathematica, Maple, Matalab and Mathcad at various times for
different purposes.

Here is an effort http://numericalmethods.eng.usf.edu/  to promote numerical
methods in Engineering that has been reorganized to include STEM that is
Science, Mathematics, Engineering and Technology to be buzzword compliant
and receive funding from National Science Foundation for the project.

The projects claims to be supporting open education with the following
statement


*First we believe in "Having open dissemination of educational materials,
philosophy, and modes of thought, that will help lead to fundamental changes
in the way colleges and universities utilize the Web as a vehicle for
education" - *MIT Open Course Ware <http://ocw.mit.edu/>*.  *

*Second, we provide the numerical methods resources that are pedagogically
neutral that can be modified to suit anyone's needs.*

They are following the philosophy and making all the developed material
available on the web but if you look more closely you will notice that they
are supporting only the commercially available packages

*"The resources for numerical methods are available in four computational
packages - **Maple* <http://numericalmethods.eng.usf.edu/mws/index.html>*, *
*MathCAD* <http://numericalmethods.eng.usf.edu/mcd/index.html>*, **
MATHEMATICA* <http://numericalmethods.eng.usf.edu/nbm/index.html>* and **
MATLAB* <http://numericalmethods.eng.usf.edu/mtl/index.html>*."*
**
They provide no support for open source packages Maxima, Octave, R and
Scielab. These pacakages can solve most of the problems that we get in
Engineering but they are not even mentioned and this is a NSF funded
project.

I think the problem is that open source projects have too much duplication
of efforts. For example your python symbolic math program is simply
duplicating what has been done so many times before and discarded in the
past. It helps in solving the programmer's itch but does nothing for the
users except wastes their time in trying to figure out which pacakage to
use. That is why the adoption of open source programs by the actual users is
very low. They are basically used within the group of developers who are
familiar with the program. It works fine for programming done for
programmers but does not work for application programs like math compute
engines. They all sit in obscurity in unknown corners of Internet like your
project on Googel App Engine.

If you guys are so hot on improving the state of computation and making the
math packages available to general public like me who are willing to put
some time to go through the program and even utilize it in teaching against
all the opposition from other faculty who are hell bent on using the 4
commercially available programs then why not concentrate on improving the
user interface to the already existing math compute engines such as Maxima,
R, Octvae and Scielab. Developing another console based symbolic and
numerical method pacakage will not do anything to help faculty like me who
need solid symbolic and numerical computational engine. If you are just
trying to practice your skills about python programming or trying to make
some name for yourself by being an open source project leader then it is all
well and good but do not expect people to fall all over you for your nice
free software because from a user's perspective it is just another shell
that does some basic math and nothing else.

The need really is for an embeddable symbolic  and numerical compute engine
like a widget that can be used to write interactive e-books for teaching
science and engineering related topics that requires symbolic and numerical
calculations. This widget can be embedded in a web page to create
interactive learning modules and assessment vehicles. It should have decent
output like mathml rendering in a browser not the infix type math equations
used by programming languages. I see some effort in this direction but not a
whole lot except web mathematica even that really is not embeddable in a
web page. It is a entire web page itself.

Here is Maxima running on a web page
http://www.my-tool.com/maximaphp/

and Maxima running on facebook

http://www.facebook.com/apps/application.php?id=9745594701&ref=s

or a nice interface to Maxima texmacs, although it caused me lot of headache
when I tried to make it run on Win/xp PC few years ago:

http://www.texmacs.org/

This is what will make open source program accepted in main stream not
another console based symbolic math pacakage. The non programmer users care
about what  a program can do for them not the programming language it is
programmed in. Like I looked at your program for few minutes and thought for
few second about it. Nice and that was it. I do not see any reason to spend
time on another console so I can integrate the same functions five different
ways using five open source packages available on the Internet.

here is a complete course I developed for Engineering computation using
Maxima and Scielab

http://www.eng.ysu.edu/~jalam/engr6924s07/

It takes about the same amount of effort that you guys spend in writing
these programs. Now if you guys had a shell that I could have embed into the
html file to create interactive lectures and assignements and projects also
it has modules to do everything that I have in here both symbolically and
numerically and it also has nice ouput I would be exteremly grateful but I
do not see that is happening for a while because all the efforts I see is
basically copying of the existing projects using different programming
language although for end user programming language does not matter at all.
It is what the program can do matters.

Sorry to go on a rant like this but you came back with pretty strong
statement that "Lisp is Dead" and new programs are written because old
programs do not satisfy the end users.  First of all lisp is one of the
oldest language and it is not going to die. It is easy and hard at the same
time. People have written very interesting programs in it. Also, PySym has
not done anything innovative except copying old ideas.  As I said before
using Python is not considered innovative from the end user point of view.
It is just another programming language with its own eccentricities and
syntax. It does not write program for me I have to coerce a program out of
that of it that will do something useful for us. So please refrain from
making big statements like this till you produce some thing that is of some
value to end users. Another me too program or its development does not cut
it.

Have a nice day.

Javed Alam

http://www.eng.ysu.edu/~jalam







On Wed, Jun 18, 2008 at 1:09 PM, Ondrej Certik <ondrej at certik.cz> wrote:

> On Wed, Jun 18, 2008 at 4:56 PM, Robert Dodier <robert.dodier at gmail.com>
> wrote:
> >
> > Hello,
> >
> > I was invited to the on-going Sage developer days workshop.
> > http://sagemath.org http://wiki.sagemath.org/dev1
> > I gave a little presentation about Maxima.
> > http://maxima.sourceforge.net/misc/maxima-opinions.pdf
> >
> > Sage is a really exciting project in many ways. I think merging
> > different computational systems is a very useful goal. In Maxima
> > there is a similar trend although less extensive since at present
> > it is required that stuff be translated to Lisp. The new
> > computational stuff for exact linear algebra, modular forms, and
> > other topics is very interesting and a great contribution.
> > Maybe in some form some of that would someday be ported
> > to Maxima.
> >
> > I'm somewhat less excited by the subproject to write new
> > symbolic manipulation code for Sage. Sorry to say it, but it seems
> > like a reinvention of the wheel. Maybe that's unavoidable;
> > and maybe you'll do a better job of it than Maxima!
> >
> > Sage is a great project and it was terrific to meet William Stein
> > and everyone else. Many thanks to William for the invitation.
> > I look forward to further collaboration.
>
> I am glad you liked it, it was also very terrific for me to meet
> William, Michael and all the other Sage developers for the first time
> in Bristol and then in Austin.
> I like your 4th slide (A laissez-faire attitude), that's how I view
> mathematics and I think it's how most physcists access mathematics.
>
> As to symbolics, I can answer that one easily. New code gets written
> when the current projects don't satisfy the needs of those writing the
> new code.
>
> I know you once written to the SymPy mailinglist asking us to rather
> join (or use) Maxima [1], instead of reinventing the wheel. Well, Sage
> does exactly what you wanted, i.e. using maxima from Python, instead
> of reinventing the wheel. But lisp is just too difficult for me (and
> all other people I personally know) to fix. The other reason is that I
> think lisp is dead.
>
> Compare this:
>
>
> http://maxima.cvs.sourceforge.net/maxima/maxima/src/limit.lisp?revision=1.53&view=markup
>
> to this:
>
> http://hg.sympy.org/sympy/file/ccebd03423df/sympy/series/gruntz.py
>
> it has more or less the same functionality now. Which is more
> readable? I guess there are people who will find the lisp version more
> readable, but I and most people I know find the python version more
> readable/maintainable.
>
>
> However, on a positive note, I think this game is not a game with a
> sum of 1, but rather it seems to me that all Sage, Maxima, SymPy and
> other packages are getting new users and developers. In the end, all I
> want is to get the job done and I think it's important to make sure
> all the packages talk to each other well, and also to try to find
> common grounds of cooperation, if possible.
>
> Ondrej
>
> [1]
> http://groups.google.com/group/sympy/browse_thread/thread/8a761b6a710e5319/a620d45d9048a0fb
>  _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima
>