MathGroup Archive 2009

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

Search the Archive

Re: Re: Should I be using Mathematica at all?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg98720] Re: [mg98685] Re: Should I be using Mathematica at all?
  • From: peter <plindsay.0 at gmail.com>
  • Date: Fri, 17 Apr 2009 04:26:11 -0400 (EDT)
  • References: <gruppj$nk$1@smc.vnet.net> <200904141015.GAA07628@smc.vnet.net>

hello Joseph,
I see what you mean, your crucial words are "in practice". I use a mac and
linux and have no such problems. With Windows, especially if you are using
visual studio or something [ ? ], I agree it is a nightmare to separate out
the real C++ from the Microsoft obfuscation.

2009/4/16 Joseph Gwinn <joegwinn at comcast.net>

> In article <gs47oa$7s7$1 at smc.vnet.net>, peter <plindsay.0 at gmail.com>
> wrote:
>
> > respectfully, I don't think this is quite right although I see what
> > you are getting at. C++ is platform independent and free, unless you
> > chose to tie yourself in to particular proprietary Libraries or IDEs.
>
> C++ in practice is not platform independent at all, unless one goes to
> considerable effort to ensure independence.  You put your finger right
> on it when you mentioned "particular proprietary Libraries or IDEs".
>
> On Windows in particular, it can be very difficult to avoid things like
> ActiveX controls from creeping in and defeating portability and platform
> independence.  And forcing one onto the upgrade treadmill.
>
> C, being at least ten times simpler, has far less of this problem, but
> even so vigilance is required.
>
> Joe Gwinn
>
>
> > 2009/4/14 Joseph Gwinn <joegwinn at comcast.net>:
> > > In article <gruppj$nk$1 at smc.vnet.net>,
> > >  "Paul Ellsmore" <paul.ellsmore at nanion.co.uk> wrote:
> > >
> > >> 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,
> wri=
> > ting
> > >> a GUI for our code (which has no compatibility issues with V7) and
> > >> distributing it using PlayerPro.
> > >
> > > What is the nature of this product?
> > >
> > >
> > >> To protect our IP, I will be using Encode to make it impossible for it
> t=
> > o be
> > >> reverse engineered. Does anyone know how secure this will actually be?
> I=
> > s 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
> licens=
> > e
> > >> 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
> bac=
> > k.
> > >> This is not viable. The best Wolfram can offer is to give our
> prospectiv=
> > e
> > >> 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
> immediatel=
> > y.
> > >>
> > >> So, I am considering our options, in particular open source code, such
> a=
> > s
> > >> C++, and I'd be interested in your opinions about this. Our V5 code
> does=
> > n'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
> principl=
> > e,
> > >> reason why Mathematica might be able to do things significantly faster
> t=
> > han
> > >> 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
> compilab=
> > le
> > >> program. I should stress that we are very happy with Mathematica in
> term=
> > s 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
> o=
> > f
> > >> plotting of data (2D only, but lots of curves which need to be
> interacti=
> > ve
> > >> in some sense). Mathematica can do everything we want in this respect,
> b=
> > ut 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?
> > >
> > > The big issue with translation to C++ or any other language to to avoid
> > > lock-in to either Windows or to the compiler make and model.  If
> lock-i=
> > n
> > > is permitted, especially to Windows, every time MS burps you will be
> > > forced to play catch-up.  While C++ is in theory standardized, there
> ar=
> > e
> > > significant differences in what C++ compilers will accept.  Use of the
> =
> > C
> > > subset of C++ is usually far less stressful, and allows for graceful
> > > transition should the compiler vendor go to find his guru.
> > >
> > > Platform independence also helps when negotiating with platform and
> > > compiler vendors.
> > >
> > > To avoid lock-in, one must do all testing on at least two platform
> kinds
> > > using compilers from at least two makers.  It isn't enough to make
> > > platform independence a goal, one must directly test for independence,
> > > as its very easy for dependencies to creep in unnoticed.
> > >
> > > Choice of platforms:  If one covers Windows, MacOS, and UNIX/Linux, one
> > > has covered 99%.  Going from one platform to two is the big step.
> > > Adding the third isn't that much harder to achieve, although testing is
> > > still an expense.
> > >
> > > Joe Gwinn
> > >
> > >
> >
> >
> >
> > --
> > Peter Lindsay
>
>


-- 
Peter Lindsay



  • Prev by Date: Scaling a part of a composite image
  • Next by Date: Looking for a scrolling list control, or how to create/simulate one??
  • Previous by thread: Re: Should I be using Mathematica at all?
  • Next by thread: Re: Should I be using Mathematica at all?