Introducing Sho
Today we are proud to release Sho publicly to the world at large. What is Sho, you may ask? It's an interactive environment for data analysis and scientific computing. Aren't there a lot of those, you may ask? Well, there are, but what's special about Sho is that lets you seamlessly connect scripts (in IronPython) with compiled code (in .NET). Sho also comes with powerful and efficient libraries for linear algebra as well as data visualization that can be used from any .NET language (C#, F#, managed C++, etc.), as well as a feature-rich interactive shell for rapid development.
That's our value proposition: seamless connectivity and powerful libraries for scientific computing. You can create Python objects and script with them (they're secretly .NET objects underneath). You can load in .NET libraries, instantiate objects, subclass from them, hand them Python callbacks, no sweat. There's no wrapping or decorating your compiled code, no special shadow objects to construct, none of that. If someone hands you a random .NET library, you can load it in and start using its objects. All that power comes from IronPython; what we add to the mix is a powerful set of libraries to let you do linear algebra, statistics, optimization, and much more, as well as a friendly console with fancy tab completion, inline images, and more for manipulating all of that good stuff.
Why might all this be important to you? If you love analyzing data and developing algorithms and prototypes in a script language (Python, etc.) but find yourself writing some parts of your code in a compiled language, Sho may be perfect for you. Likewise, if you find yourself trying to connect to compiled code from other people, Sho can make your life easier. On the other side of the spectrum, if you do most of your programming in compiled languages but occasionally want to use script to hook these components together, Sho can be a great tool. Finally, if you do all your programming in compiled .NET languages but just want a great numeric library (for linear algebra, statistics, etc.) as well as plotting capabilities, Sho can be very helpful for you as well.
Of course, the best way to find out whether Sho is for you is to try it out for yourself! To see some screenshots/demo videos, read some documentation (including the Book of Sho), or get the latest installer, check out https://research.microsoft.com/sho
Comments
Anonymous
January 26, 2011
The "research.microsoft.com/sho " Link doesn't work above .Anonymous
January 26, 2011
Thanks for the catch, Manas, just fixed the link!Anonymous
January 26, 2011
How does it integrate with MS Office (Excel)?Anonymous
January 26, 2011
Very cool, I've been looking for a good interactive stats program on the CLR or JVM. Does this have any lineage to Vedea research.microsoft.com/.../vedeaAnonymous
February 04, 2011
The comment has been removedAnonymous
February 05, 2011
Is there any interest in adding support for decimal-representation floating point? I realize that every decimal representation and library designed before the most recent revision of IEEE 754 is basically ad-hoc and that you'd need to bridge them back and forth to the support library, but those of us that occasionally need to use decimal are more concerned with accuracy than with speed. John Platt mentioned using Sho instead of MATLAB in the Channel 9 video, and if you type a large or small number in (or even just 0.2), you'll want to not accrue an error.Anonymous
August 15, 2012
Superb stuff. Had heard that Ms Research is into some awesome work, but this one takes the cake.Anonymous
February 04, 2013
"sho".. sounds and spells like "show".. impossible to use google or bing on. e.g. try google : sho , polynomal regression did you ever think of that? Please rename it and think of programmers that look for solutions on it on the internet..I really should not have to tell somebody from microsoft how to make things searchable on the internet now..