What to do when people in a research group use different programming languages for computation (e.g., Mathematica, Python, Matlab)? I am a very happy user (in 98% of the time) of Python/Numpy/Scipy (anaconda distribution). I switched from Matlab and do not regret the decision. I have reached a level of expertise, which enables me to help others with their computational tasks and encourage people to use Python.

Unfortunately, the situation is not that easy. A senior researcher in a very closely related working group is using Mathematica. One of his students is using Mathematica, one is not sure yet but honestly it would be stupid to use a different software.

If I switch to Mathematica, everyone may benefit from it (code sharing and building up knowledge). I think you can understand that my motivation to do so is not the highest (not again another language; I use Python, Fortran and a bit C++). Additionally, the Python user community is very vibrant, and they frequently come up with interesting projects.

In order to avoid a nonsense discussion about what software to use, let me rephrase my questions as follows:

Have you ever been in a similar situation (either as student or supervisor)? And if you have, did you try to get everyone to use the same language? Did any situation occur where it was good that not everyone was using the same tool?

EDIT:

My field is biotechnology. We do calculate: ODE'S, PDE'S,fractals, system of equations (ODE's, DAE'S, algabraic). Most of the time we do some rapid prototyping (e.g calculating linear pH gradients in chromatography, some combinations of reactors etc., using/extending chromatographic models). I am a PhD student and will continue as a post doc at the same institute including occasional lab exchanges abroad.
This is very familiar to me - people come into my field from a number of different places, and each has not only their own preferred software, but the software they think "everyone" uses - which invariably isn't true.

At the moment for example, I have implementations of various bits of my work in MATLAB, Mathematica, C++, Python, Maple, R, SAS...


  Have you been in a similar Situation (either as Student or Supervisor) ?


I've been in groups that successfully united everyone under the same language banner, and some groups that did not (intentionally or otherwise).


  And if so, did you tried to get everyone using the same language ?


I have definitely tried, and occasionally failed. You've mentioned some of the benefits, but beyond merely code sharing, everyone using different languages makes it extremely hard to learn from others, share solutions, or collaborate really in any way. If you have a problem, and it's written in another language than what other folks are using, that problem is entirely your own to deal with - even if folks want to help, they may not be able to.


  Did situations occur, at which it was good that not everyone is using the same tool ?


The only time is when the "usual tool" is somehow terrible at what's needed for someone's work. For example, a few years ago, when Python's statistics ecosystem was much worse, it was good to have people who knew R. But assuming they can all achieve roughly the same thing, I've never gone "Oh thank god we're all writing in different languages!"

The one exception is I did encounter someone whose ability to parse whitespace-based code is...less than stellar, which made me glad I could run things in MATLAB as well as Python.