At the Lang.NET conference on the Microsoft campus here Jan. 29,
Giles Thomas, chief technology officer at London-based Resolver
Systems, demonstrated Resolver One, a spreadsheet written in Python.
Thomas said Resolver One not only is a simple spreadsheet, but a
spreadsheet developed as an IronPython program. IronPython is
Microsoft’s implementation of the Python dynamic language implemented
to run on .Net.
The goal of Resolver was also to put a simple yet powerful programming tool into the hands of end users, he said.
“We wanted to raise the bar for what was possible with end user-generated programs,” he said.
Because a Resolver document is both a spreadsheet and a computer
program, “the numerical data remains separate from the logic which
operates on it,” said a description of the technology on Resolver
Systems’ Web site. “Resolver spreadsheets make it possible for business
users to develop a spreadsheet as usual, and for IT to instantly
extract their algorithms and use them in more complex systems.”
Thomas said the company released version 1.0 of Resolver One Jan. 16.
“We wanted to fill the gap between a spreadsheet and a full-fledged programming tool,” he said.
Thomas said Resolver Systems practices Extreme Programming and does
test-first development. “Dynamic languages are perfect for test-first
programming,” he said.
Meanwhile, Thomas said his team decided to build Resolver One in
IronPython because of its “dynamic features and the readability of
Python.” The company initially started out with a plan to build a .Net
program embedding some dynamic language functionality using extreme
programming, he said.
“Originally we thought we’d do it in C#, but we saw IronPython and
it looked good,” Thomas said. “We realized that extreme programming
made static typing less important, so we decided to see how far we
could get before switching to C#.”