Best Language/Library for Statistical Simulation?
I've recently been working on a statistical simulation project in MATLAB and have found the language woefully incomplete for my task.  While the language is very, very good for Linear Algebra and statistics, it is absolutely atrocious at handling Object-Oriented programming or even basic iteration, the latter of which costs serious computation time.  

I have decided that in order to continue, the project must move to a faster language.  However, I would really not like for speed to be at the cost of ease of programming.  There are many features I have in mind for my next language; eg, 

 1. Tools on OSX, Linux, and Windows
 2. a simple-to-none build process,
 3. first-class/anonymous functions,
 4. a well developed Linear Algebra and Statistics library, (eg, something where I can generate samples from common univariate and multivariate distributions (eg: beta, poisson, multivariate normal) and check their probability density and cumulative density functions)
 5. garbage collection,
 6. named method arguments (eg: f(x=1,y=15)
 7. Operator overloading (for easy-to-read matrix code)
 8. Reasonable speed compared against C++ (less than 5x slower for simple tasks like creating/deleting objects, iterating over 1e6 elements, etc)

I've tried taking a look at Java, C#, and Scala, but I haven't been able to find a satisfactory library to satisfy 4) in any of them.  The only language that comes reasonably close in that respect is Python's SciPy, but at a reported [~50x slower than C][1] I just can't see it as worthwhile.

Does anyone else have any recommendations?


  [1]: http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=all
Best Language/Library for Statistical Simulation?
===

I've recently been working on a statistical simulation project in MATLAB and have found the language woefully incomplete for my task.  While the language is very, very good for Linear Algebra and statistics, it is absolutely atrocious at handling Object-Oriented programming or even basic iteration, the latter of which costs serious computation time.  

I have decided that in order to continue, the project must move to a faster language.  However, I would really not like for speed to be at the cost of ease of programming.  There are many features I have in mind for my next language; eg, 

 1. Tools on OSX, Linux, and Windows
 2. a simple-to-none build process,
 3. first-class/anonymous functions,
 4. a well developed Linear Algebra and Statistics library, (eg, something where I can generate samples from common univariate and multivariate distributions (eg: beta, poisson, multivariate normal) and check their probability density and cumulative density functions)
 5. garbage collection,
 6. named method arguments (eg: f(x=1,y=15)
 7. Operator overloading (for easy-to-read matrix code)
 8. Reasonable speed compared against C++ (less than 5x slower for simple tasks like creating/deleting objects, iterating over 1e6 elements, etc)

I've tried taking a look at Java, C#, and Scala, but I haven't been able to find a satisfactory library to satisfy 4) in any of them.  The only language that comes reasonably close in that respect is Python's SciPy, but at a reported [~50x slower than C][1] I just can't see it as worthwhile.

Does anyone else have any recommendations?


  [1]: http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=all