See Microsoft Research’s announcement of the Sho project.
Sho is an interactive environment for data analysis and scientific computing that lets you seamlessly connect scripts (in IronPython) with compiled code (in .NET) to enable fast and flexible prototyping. The environment includes powerful and efficient libraries for linear algebra as well as data visualization that can be used from any .NET language, as well as a feature-rich interactive shell for rapid development.
Maybe this is why Microsoft contracted Enthought this summer to port NumPy and SciPy to .NET.
Nope, this code uses a C++/CLI wrapper around MKL. (I don’t think I’m giving away any secrets in saying that; Reflector should make it pretty obvious.)
Thanks, Curt. That’s interesting.
Maybe Microsoft had hoped that the SciPy port would be ready by the time they released Sho but used MKL as a fallback.
EPD also uses MKL (for speedy linear algebra), but the core is NumPy and SciPy.
Cool. Thanks for. The tip, John.
MS is always a follower, always a step behind. This isn’t necessarily bad for a company, but they do have a completely different platform for doing things, which means once you go Mshaft, you never go back. Or at least, there is unnecessary time learning second-rate tools. Most OSS guys will not touch their tools with a ten-foot pole, so MS toolset is always out of touch with the latest and greatest. If and when a new language, approach becomes the greatest, for long enough time, _then_ Mshaft will adopt it, but then it is either too late, and / or their contributions, while potentially nice, is probably something OSS will provide as well. It’s nice to have them as a competitor of course, but my advice is to stay clear from their tools as much as possible.
@koala, I am uncomfortable making blanket statements about MS or about OSS. I work for a strongly OSS-oriented company, but there are drawbacks to doing numerical work there. Some of the best compilers for, say, C, in numerics, are not OSS, these being Intel’s and IBM’s and even Digital Mars. GCC is okay and I use it a lot. Also, because Linux systems have many ways to be configured and you can configure your own, they can be non-standard, so if standard configurations are needed for installs or detailing for regulatory actions, finding a standard configuration typically means building one afresh.
Also, the GCC suite is little different than commercial kin as it encourages use of non-portable special library features, rather than, say, ANSI standard. It has a GNU Scientific Library, but that has little of the richer features in NAG and IMSL.
Also, as far as usability goes, there are Unix-style command line shells available for Windows (not just Cynus and such) which empower and make some scripts. I love Windows 7 64-bit for R work. I use R on Linux often, simply because that’s where our data lives.
Naturally, other than R, I don’t use a lot of software, apart from LaTeX (via MikTeX and PCTeX). I do use a favorite editor on Windows (JGSoft’s Editpad Pro), and a few indispensible tools there, including technical image digitization software (for measuring features on satellitle photographs and such).
So, it’s a mixed bag.