I've been playing a bit with a new kind of spreadsheet product called Resolver One (
http://www.resolvers...cts/resolver-one.php). Since DC people are very software-literate, and are frequently interested in alternative approaches, I thought this might be interesting to all.
The thing about Resolver is that it's really a spreadsheet
framework with a built-in code generator. You don't need to know this; it's perfectly usable as a regular old spreadsheet. But as you interact with it, it generates Python code that implements the spreadsheet and all its calculations.
This is a little bit like using the form designers in Visual Studio.Net, for example. You can see the code that creates the sheets, sets the cell values and functions, etc. And you can edit that code and the spreadsheet "view" changes dynamically.
Since all of this is Python code, it means that you can have much more sophisticated cell calculations. But it goes much farther than that.
The logic you can implement isn't limited to the calculations that go on in the cell; anything that's happening in the whole spreadsheet is under your control. Old "macros", or the stuff that Excel might allow in VBA code, can all be accomplished through Python. In fact, since it's part of the code
implementing the sheet rather than an adjunct to it, you can do much more powerful stuff.
Also, this is all written in .Net -- IronPython to be specific. So you have access to the whole .Net framework. You can use its classes, call their methods. You can also write your own .Net code in C# (or whatever), expose it into the spreadsheet's code, and use your own classes and methods.
Free for non-commercial use, a little bit expensive otherwise.