First, I know almost nothing about the interfacing of this type and this is the first time, I’m trying it out. I am looking to use one of the Statistics/Simulation software either Maple or Mathematica or R for calculations and use C#/Java to handle other areas like persistence and data collection and so on.
Can you tell me which one of these platforms (.Net/Java) is more friendly for this exercise in terms of:
- Effort required to prepare the data to the format usable by statistics software
- Performance in terms of memory requirement and time required for communication between two programs.
I understand that a single platform may not be good for all of them and one may be very good for say maple but too bad for R. What I’m looking for is a good combination.
And why I’m not fixed on one of Maple/Mathematica/R? Well, they all are available to me and what I’m trying to calculate is pretty much common and also available in all of them.
So it has come down to which one is easy for interfacing.
Cheers
This really doesn’t outline the problem. If you are going to be doing some complicated parsing, the answer may be more around the available libraries. Without knowing anything, I would guess Java. If no special libraries are required, they are probably equal.
Memory between the two is similar and is mostly going to be a factor of aspects of your application and libraries you use. For cpu performance, all other aspects equal, I usually find that the CLR has better raw performance than the JVM. However, be careful with that statement. Depending on what code and libraries you are using, you could get wildly different results.
One other consideration depending on the nature of your problem. If you find you have some intensive processing that could be offloaded into native code, you will find that it is much easier, and faster, to access native code from the CLR than from the JVM.