Alex Hoffman

Perspective on development, management and technology




    IASA Member

September 2004 - Posts

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.


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

Posted Thursday, September 30, 2004 5:16 PM by Alex Hoffman

Quote of the Week

You know what I want for Christmas? Markup Barbie. You pull a string and she says "XML is tough".

Mark Pilgrim
Dive Into Mark

Update: great to see that a print edition of Mark's Dive Into Python book is now available.

Posted Thursday, September 30, 2004 2:06 PM by Alex Hoffman | 2 comment(s)

The Old Boys Club

Pascal is saying out loud what many in the community are thinking ...

I am surely not going to make friends with this post, but my rant of the day going to Telligent ... link

It's disturbing that (supposedly) open source community projects can all of a sudden go "private" - free version or not.

Let's not mention that those same "community" projects are being used to tout a private consultancy company.

Is this the community spirit we aspire to?

Posted Wednesday, September 29, 2004 9:10 PM by Alex Hoffman | 4 comment(s)

Update: Why Don't Most Windows Systems Have .NET Installed?

Perhaps Microsoft really does see .NET as only a web (and mobile) technology.

Posted Thursday, September 9, 2004 4:47 PM by Alex Hoffman | 1 comment(s)

OT: Free .info Domains

If your looking for up to 25 free .info domains - and free means no credit cards required - check out DomainSite.

Don't know how long the offer will last, and no - I'm not affiliated with them in any way.

Update: I have been told that the special ends 9 September 2004

Update: Offer is no longer available

Posted Thursday, September 9, 2004 4:17 PM by Alex Hoffman | 7 comment(s)

What is .NET?

Updated 23-Jul-06 (~2 years later): Added link to download .NET 2.0 Redistributable. 

What is Microsoft .NET?  Is there a definition that can be hopefully be understood by all.  One that cuts across the confusion of named .NET products and technologies like ASP.NET and ADO.NET (let's not mention Microsoft's bright idea of calling all their server products .NET just to confuse everyone).

Too many people I deal with, from executives to developers have either no real idea or an erroneous one - years after .NET's release.  That's not helped by pages like this, which are really only good at explaining .NET to people who already know what it is.

Here's what I explain:-


Microsoft .NET is a runtime environment that supports the execution of program code written in .NET languages.


A .NET application running on your system appears as any other, but requires that the .NET runtime be installed on your system.  The .NET runtime "manages" certain aspects of the running application for you - like security and the execution environment.  The environment is either already installed on your system, or is a 23Mb (free) downloadable product.

.NET code as well as traditional (non-.NET) Windows code, can be used by other applications - both .NET and traditional.  A huge library of code is included with .NET which enables software developers to program Windows systems in an efficient and consistent way.  Because the .NET environment "manages" much of the underlying "plumbing" required by any any application, the task of writing a Windows application is significantly easier.

Microsoft ASP.NET is simply the name for .NET code written by Microsoft to support web type functionality on a web server.  As a .NET application, the web server must have the .NET environment installed, but people simply accessing a website through a browser do not.  ADO.NET is simply the name for .NET code written by Microsoft to support access to data related services.

In the future, more and more code running on Windows systems, including functionality provided by the Windows operating system itself, will be running within the .NET environment.

.NET is also referred to as the .NET Framework.


Parts of this are of course simplistic, but the intended audience is often non-technical.  I'd be interested in any suggestions that helped make this description easier to understand.


Posted Thursday, September 9, 2004 1:10 PM by Alex Hoffman | with no comments

Filed under:

More Posts