It’s just data

Expando properties

Don Box: The fact that Longhorn currently has three models for property extensibility instead of one is an accident of history. Whether or not there is enough common functionality and model here to do unification is still an open question.

If you look at JScript.Net, you will find a fourth one.  And a compelling motivation for unification.

Picture a world in which in which your User Interface, Data Store, and Network interfaces are designed to Cope with Change.  Where somewhat less than 10% of your code needs to be fast.  The most important characteristic of the remainder is ability to be responsive to market needs, and this means that programmer productivity and program maintainability are the key bottlenecks.

This will give rise to languages like Xen and Groovy; it will reinvigorate languages like JScript; and many of these features will find their way into VB.

Over time, the runtime will find ways to optimize these common access patterns, and the performance differences will become less important.  So programmers will be able to code "" without having to worry about whether bar is predefined or was dynamically added.

Quite interesting, and it makes me think of something I've been wondering.  I've not seen any information about writing windows forms applications in JScript.NET  is it possible, or are we restricted to using C# and VB.NET?  I have quite a few small applications written in JScript using the HTA (HTML Application) model, and would love to be able to quickly port them to .NET (they are all VERY object oriented).

Posted by Eric Vitiello at

I'm not sure who invented the term expando, but I love it.  These were a big part of DHTML programming in IE/Trident.  I don't know for sure, but my guess is that expandos (at least the term and the JScript (not .net) implementation) were invented as part of IE4 development.  At that time expandos were implemented by a very creative implementation of IDispatch.

There are multiple people on the Avalon team who used to work on Trident (I'm one of them) and the idea of expandos had influence on DynamicProperties/AttachedProperties.


Posted by Joe Beda at

Longhorn: The eXpando Platform?


Excerpt from Don Box's Spoutlet at

Entirely agree with you.
Look at my comments on
Drew Marsh blog(note JBoss4/AOP reference):

Posted by Andrew at

I'm not at all familiar with Longhorn and its extensibility models, so perhaps the following comment is off base but...

Isn't XML 1.0 + Namespaces the only Expando property one would ever need?

Posted by Donald Kackman at

Anybody know of any good architectural discussions on the implications of "expando" properties? Say in how they might affect the implementation of the more common design patterns or even enable new design patterns...

Posted by Jason Frankel at

Progress on expansion

Good things come to those who wait...

Excerpt from Don Box's Spoutlet at

Add your comment