Re: Should I be using Mathematica at all?
- To: mathgroup at smc.vnet.net
- Subject: [mg98685] Re: Should I be using Mathematica at all?
- From: Joseph Gwinn <joegwinn at comcast.net>
- Date: Thu, 16 Apr 2009 04:14:51 -0400 (EDT)
- References: <email@example.com> <200904141015.GAA07628@smc.vnet.net> <firstname.lastname@example.org>
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
- Re: Should I be using Mathematica at all?
- From: Joseph Gwinn <email@example.com>
- Re: Should I be using Mathematica at all?