Sunday, February 26, 2012

State of numerical computation languages

When I was a student I spent a huge amount of time doing difference numerical computation with MATLAB and Maple. I must say I was falling in love with MATLAB. This environment, language and visualization possibilities were amazing and very powerful. I simply couldn't choose another stuff. It gave me a chance fully concentrate on engineering problems I had been trying to solve.

But now I must admit that MATLAB is very expensive software. And we should look around for other open-source mathematical computation environments. Today I'm biased because I prefer to invest time in general purpose language then in specialized computation languages (like MATLAB, R).

I've found very interested comparison (Mathesaurus):

Also, Hyperpolyglot provides nice comparison "Numerical Analysis Software: Fortran, MATLAB, R, NumPy".

Based on these two comparisons I've selected several factors for choosing the "right" numerical environments:
  1. Commercial or open-source
  2. Visualization possibilities
  3. Language itself (MATLAB, Maple, R, etc.): computational specific or general purpose (Python, Clojure/Incanter, etc. )
  4. Integration with Fortran/C/C++ etc.
  5. GUI features