[EMAIL PROTECTED] wrote:
Sage hit slashdot (and slashdot it back, I'm sure).
One anonymous coward posted the following quote which I find
worth preserving. The Crystal idea is a bit beyond what he's
thinking but I think he's on the right track.
I am a mathematician and shelling out a few hundred or even thousand
bucks for software is not a problem. A problem is that there is that
there is a gap in tools. There is one tool missing that would make
math much more accessible. The tool an IDE. Most IDEs that exist for
witting math are modeled after software development IDEs. But those do
not at all parallel how mathematicians think or write. We end up with
a lot of paper and books in higher math (post introductory undergrad
level) that are written in plain text. Diagrams are very few and
cross-references are often unintuitive. If there was a tool that
allowed to write math as easily as code is written in vi (or
emacs... please wait until Sunday morning for this flame war... that's
what Sunday mornings are for), to create diagrams as easily as AutoCad
creates mechanical drawings, that would realize that an item of text
maybe best served with a commutative diagram (which it would
immediately offer to draw) and that another part of the text is
probably a bibliography reference, then math would be developed as
well as software is.
Well ... maybe the grass is greener on the other side of the street. I
do both (applied) mathematics and programming, and I don't think the
"IDE" tools for programming are really as good as this poster thinks
they are. It may be easy to *write* code with modern editors -- syntax
coloring, code folding, automatic indentation, integrated debuggers,
etc., but
1. There are *way* too many programming languages, and more are being
cut loose every day. I hang out with Ruby programmers, and Ruby is a
great language. But really now -- Erlang, Haskell, OCaml, Ruby, Factor,
Java, Python, Perl, PHP -- not to mention C/C++/C#, Fortran, Pascal,
Ada, Lisp and Scheme.
2. You can make a compiled language that catches lots of bugs at compile
time and enforces type discipline. The problem is that programmers won't
use it. Or you can make a dynamically typed interpreted language with
lots of facilities for meta-programming and "internal domain-specific
language" creation. The programmers love it but they end up doing
"test-driven development" because the "compiler", if there even *is*
one, has no clue whatsoever about what the code does. You have to write
twice as much code -- a test suite and an application.
Basically, all the tools out there are still
trying to give mathematicians the freedom to write anything that would
write on paper. There is no tool that is really context-aware. If such
a tool did exist, it would leave all the others in the dust. Cost
would not matter. It would be to Mathematica what KDE is to Windows
desktop.
I'm not at all sure about this analogy. I personally don't think the KDE
desktop is significantly better than the Windows desktop. For that
matter, I don't really think there's any really outstanding desktop.
They differ in the amount of eye candy, but most of them are
customizable to any user's workflow -- and vice versa. :) I used to use
KDE, but I now use Windowmaker on my Linux boxes.
I've never used Mathematica, but I have used Maple, Derive, Maxima,
Axiom and Yacas. Axiom is clearly the "highest-level language" among the
open-source general purpose CAS packages that I've encountered.
Perhaps, this is too much to ask for. Perhaps, a better start
would be a language that captured the thought process of writing math
the way that emacs captured the thought process of witting different
types of text. And no TeX is not it. TeX only helps to typeset math to
make it look pretty. It doesn't make witting math on a computer easier
than writing it by hand.
TeX is a low-level tool. There are two excellent WYSIWYG TeX front-ends,
TeXmacs and LyX. TeXmacs can, in fact, drive an Axiom (or Maxima or R or
Scheme or Yacas) session, capturing its input and output in an editable
document. I'm not sure I want the machine making "suggestions", as this
poster describes it. I'd much rather have the machine tell me that I've
done something wrong and refuse to carry it out. That's the way the
BASIC interpreter worked in the old Sinclair ZX80 -- if you made a
syntax error typing in the program, the thing just sat there and
wouldn't let you move on until you fixed it.
In any event, as far as I'm concerned, TeXmacs, LyX, R and Axiom are as
good as it can get right now -- they work, they have active open source
communities behind them, and they do what *I* need to get done. They may
fall flat on their face for theoretical mathematicians -- I'm not one of
them, so I wouldn't have the faintest idea what their work flows or
thought processes are.
Tim
_______________________________________________
Axiom-developer mailing list
Axiom-developer@nongnu.org
http://lists.nongnu.org/mailman/listinfo/axiom-developer
_______________________________________________
Axiom-developer mailing list
Axiom-developer@nongnu.org
http://lists.nongnu.org/mailman/listinfo/axiom-developer