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:

  1. IronPython Home Page & Download
  2. MSH (Monad) Links
  3. Join the MSH Beta (XP or 2003)

No Comments