On Mon, 2006-01-02 at 18:46 +0800, Paolo Alexis Falcone wrote:
> Quoting "Dean Michael C. Berris" <[EMAIL PROTECTED]>:
> 
> > On Thu, 2005-12-29 at 08:15 -0800, James Matthew Miraflor wrote:
> >> Does anyone know how to make Java interface with Maple? There is an
> >> algorithm that I have coded as a function in Maple but I needed to
> >> call in Java. Is there a way for these two to pass data on each other?
> >> Thanks.
> >>
> >
> > This might be a suggestion which could lead to a very different mindset
> > when it comes to programming -- why not just implement the mathematical
> > function in pure Java instead of calling the function in MAPLE?
> >
> 
> There's a lot of mathematical stuff that are cumbersome in Java that 
> are easier
> to do with Lisp-based languages like Maple :). Use the best tool for the job I
> guess.
> 

Yes, but a Java class library for Mathematical Functions is much better
than relying on an external applications/interpreters, since the
dependency to these external tools:

1) Induces unacceptable performance penalties especially if you want
your solution to scale.

2) Induces undue complexity to your solution.

3) Causes you to have more moving parts, and therefore more things which
may break. Limiting the number of "breakable" parts limits the number of
possible problems in the long run, or even in cases where it's just a
proof of concept/hack.

Since it would be used in an academic setting, some people may argue
that calling Maple/Matlab/<Insert Mathematical Package Here> from Java/C
++/<Insert Programming Language Here> would be acceptable -- but
learning things like software reuse, design patters, software
engineering methodologies, and Good Software Design would not be a waste
of your time in ANY setting.

What I'm trying to say maybe is if you're just going to graph/plot a
certain (toy) function once in your academic career and not use it in
any mission critical solution, then using Maple/Matlab/<Insert
Mathematical Package Here> ALONE should suffice. OTOH if you're going to
be using that solution on an application that's meant to be used every 5
minutes, then maybe you're just using the wrong tools to do what you
want.

I agree with the age old saying "Right tool for the Right job" however
you have to look at the available tools at your disposal before deciding
that "hey, I'll use a sledgehammer every time I'm going to drive a 1"
nail into a 1/2" plyboard." I used to think that every problem could be
solved by C++ alone, but thankfully I've found that the quick and dirty
hacks I need to do relatively simple tasks could be done with Python.
Now I use Python for the quick and dirty stuff, and C++ for the
performance and resource critical applications.

> That being said, what you're looking for isn't really Linux-related at 
> all (it's
> Maplets I think, and Maple is NON-FREE software). Try checking out 
> Maxima - it's
> the GPL'd descendant of Macsyma: wherein Maple and its kin get their initial
> inspiration from. If you're accustomed to Lisp, you'd find Maxima very
> comfortable :)
> 

There are also bindings already made for different languages that
already wrap some of these solutions for use in your programs. Google
helps, and if you can see a Java wrapper for any of these open source
libraries (or even the non-open source libraries), then that would help.

-- 
Dean Michael C. Berris
Mobile +639287291459
URL http://mikhailberis.blogspot.com
YMID: mikhailberis

_________________________________________________
Philippine Linux Users' Group (PLUG) Mailing List
[email protected] (#PLUG @ irc.free.net.ph)
Read the Guidelines: http://linux.org.ph/lists
Searchable Archives: http://archives.free.net.ph

Reply via email to