MSH vs IronPython
[See here for my original introduction to MSH]
Talking about Python, comparisons are going to be inevitably made between products like Monad (MSH - Microsoft Command Shell*) and IronPython. What do I see as the difference?
* the name is not yet finalized
MSH isn't really intended to be a script based application development environment for developing object oriented applications - it really is an administrative scripting tool that provides the glue that connects discoverable, user-defined (binary) commands - that communicate with each other through a structured, object based pipeline.
IronPython addresses a different market - one more geared to take advantage of its shell, concise yet elegant object oriented language (at least compared to VB.NET), dynamic types and ability to easily reuse non-binary code - in order to create somewhat more traditional executables and libraries.
I'm blown away by MSH's object pipeline, composable architecture and simple mechanism for command discovery - but dismayed by its less than elegant syntax.
Monad's fun syntax...
gcm get-process |ft commandtype,name,@{expression =
{$(get-fileversioninfo $_.Dll).FileVersion};
label="FileVersion"},Definition -auto
I'm blown away by (Iron)Python's sheer productivity, interactive mode, dynamic (yet strongly-typed) types and ability to consume and produce (soon) standard .NET assemblies.
See Jim Hugunin's Interactive Python Scripting Example
I think things are set to get a lot more interesting on the language front.
-------------------
Links:
- IronPython Home Page & Download
- MSH (Monad) Links
- Join the MSH Beta (XP or 2003)
- Goto http://beta.microsoft.com
- Log into the site using the following guest ID: mshPDC
- Select Microsoft Command Shell