Not necessarily a good idea, but somehow it caught on. One possible reason is that it was one of the earlier widely available pieces of software for doing declarative, dependency-based modeling that auto-propagates updates: if box A and box B are linked by a "B = 2*A", then B auto-updates whenever A changes, without you manually writing a propagate-updates loop. You can now do stuff like that in a lot of languages, but it's relatively recent (e.g., it's one of the new features JavaFX variables have).
Saying "Lisp had it X years ago" sounds perhaps a little weenish, but... that sounds a lot like the Cells library, and the even older Garnet KR. Granted, they're quite a lot less accessible than spreadsheet programs.
FRP seems to be modern take on it. It's being very actively researched in the Haskell community.
On the other hand ... Sketchpad: 1963. (Constraint satisfaction, but not embedded in a general-purpose programming system.) Prolog: 1972. And Guy L Steele wrote a nice general-purpose constraint system in 1978. ("Constraints", MIT AI Memo 502.)
Once you get your brain around the paradigm, it can be a powerful tool.
I would grant that honour to SQL Server. In fact, I regard SQL Server as Microsoft's third best product, lagging behind both the Natural Keyboard series (a must) and their mice ("honest value", reliable and comfortable). Never thought that, but Excel could be the fourth product in this list.
Presumably you mean IronPython integration in a different sense due to it being a .Net library? Got any links with examples of how that looks / what it can do?
That, however, looks pretty darn cool. On the odd occasion I've used Python/COM/Excel together, I've really wished for a Python shell inside Excel to do things like:
for cell in Range('a1:a10'):
cell.Value = cell.Value.split('-')[0]
or whatever. I don't know if Pyinex will quite do that, but thanks for the link!Alternatively, there's PyXLL (http://www.pyxll.com/), which lets you write Excel user-defined functions in Python, but doesn't have a console.
(Full disclosure: I work for Resolver Systems.)
1) Its actually pretty powerful. Since the cells update in real time it provides a nice way to do "what if" analysis pretty quickly.
2) The solver is pretty good.
3) Most people in business can read excel so it provides a good common ground.
4) Since all the intermediate steps in a calculation are in a cell somewhere, its pretty easy to trace through logic.
I certainly wouldn't use excel to handle huge amounts of data, but its a good tool as long as your computational requirements aren't that big.
In high school there was a girl in my class that preferre to do everything in excel. And that included writing papers, because it made the formatting easy.