MathGroup Archive 2009

[Date Index] [Thread Index] [Author Index]

Search the Archive

Should I be using Mathematica at all?

  • To: mathgroup at
  • Subject: [mg98566] Should I be using Mathematica at all?
  • From: "Paul Ellsmore" <paul.ellsmore at>
  • Date: Mon, 13 Apr 2009 03:32:04 -0400 (EDT)

Hello again,

I have had several questions answered by this group, for which I am very
grateful. Now I have a more general topic, which I know will not have
single, clear answers.  I just would like to hear your opinions.

I have some (fairly complicated) legacy Mathematica v5 software which we
currently use in-house. Our intention is to turn this software into a
saleable product. At the moment, I am contemplating upgrading to V7, writing
a GUI for our code (which has no compatibility issues with V7) and
distributing it using PlayerPro.

To protect our IP, I will be using Encode to make it impossible for it to be
reverse engineered. Does anyone know how secure this will actually be? Is it
more or less secure than a compiled C++ program would be, for instance? Are
there any particular issues I should be aware of?

It turns out that there are some serious problems for us using PlayerPro
(apart from the price!) which are making us reconsider using Mathematica at
all. Top of the list is the inability of Wolfram to offer a trial license
for PlayerPro. What this would mean is that we would be losing 100 or so
every time someone ordered a trial version but did not subsequently buy the
package, because there is no way for us to get our PlayerPro license back.
This is not viable. The best Wolfram can offer is to give our prospective
client a trial version of the full Mathematica package (say for 15 days). As
a workaround, this is very clunky,  when I requested my trial of V7 it took
4 days to get the license. I think that, these days, people expect to go to
a website, download a trial version and start working with it immediately.

So, I am considering our options, in particular open source code, such as
C++, and I'd be interested in your opinions about this. Our V5 code doesn't
involve any exotic maths, but it makes extensive use of SetDelayed, and
these definitions are frequently nested within long and complicated Do
loops. Speed is crucial to our application, so is there any, in principle,
reason why Mathematica might be able to do things significantly faster than
a compiled C++ program (assuming the C++ code is written by someone who
knows what they are doing)? Is there a better language than C++, bearing in
mind the need to compile (or encode in some way) and distribute the
resulting code? I know there used to be a compiler for Mathematica once upon
a time, is there any easy way to get from mathematica code to a compilable
program. I should stress that we are very happy with Mathematica in terms of
developing our application, it's just generating anything that we could sell
that is problematical.

I have some experience of writing VB, Visual C and similar applications, but
these never had a large graphical content. Our code will require a lot of
plotting of data (2D only, but lots of curves which need to be interactive
in some sense). Mathematica can do everything we want in this respect, but I
am less sure about the open source code. I am sure there are add-on
packages, but never having used them I don't know whether they can match
Mathematica's built in abilities,  any comments?

If anyone out there has experience of preparing Mathematica code for sale
using PlayerPro, are there any pitfalls I should know about?

Finally, would anyone care to recommend a consultant(s) who could translate
our Mathematica code into C++?

I know this is a bit of a vague set of questions, but I'll be happy with
vague answers too!



Dr. Paul A. Ellsmore

Nanion Limited

Oxford Centre for Innovation

Mill Street


United Kingdom


Tel: +44 (0) 1865 811175

Fax: +44 (0) 1865 248594

  • Next by Date: Re: Re: Change in NSolve algorithm
  • Previous by thread: Re: Re: AMERICAN MATHEMATICAL MONTHLY -April
  • Next by thread: Re: Should I be using Mathematica at all?