[sage-devel] presentation about Maxima at Sage developer days
Subject: [sage-devel] presentation about Maxima at Sage developer days
From: Ondrej Certik
Date: Wed, 18 Jun 2008 23:53:58 +0200
Dear Adam,
On Wed, Jun 18, 2008 at 11:06 PM, Javed Alam <jalam1001 at gmail.com> wrote:
> 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.
>
> 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, MathCAD, MATHEMATICA and MATLAB."
>
> 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.
Thanks for a long reaction. Unfortunately, I am busy now, so just a
few comments:
Statements like "lisp is dead" are purely mine and I am not imposing
them to anyone and I think everyone (even if he didn't produce
anything useful yet) can think anything. It was definitely not meant
to offend anyone. If I did, then I am sorry (but nevertheless that's
still my opinion).
Maybe the thing that you are looking for is Sage.
SymPy has it's users and (that is very important) it fixes my own itch
(Maxima or Sage don't). There are 36 people who have contributed
patches (some of them a *lot* of patches), so it is definitely not
just my program.
SymPy has shown, that you can do useful symbolic manipulation in pure
Python. That is in my opinion inovative, because before that, people
were using either C, C++ or LISP and just writing python wrappers to
it.
Things are not happening by themselves, someone has to write them. I
understand that SymPy does not do what you want, but I have never said
that. Maybe Maxima or Sage will do.
Also I am not saying that new programs are written because the old
ones are not good enough for *all* end users. But for *some* end users
-- yes. I think so.
Generally, I don't see anything bad on having more options to choose from.
Ondrej