4 ms·
It always strikes me that Excel is essentially a functional programming language. A limited one perhaps (no looping/recursion) with an awkward syntax (all those
by hencq 15y ago
It always strikes me that Excel is essentially a functional programming language. A limited one perhaps (no looping/recursion) with an awkward syntax (all those commas), but still one that tons of non-programmers manage to learn and create powerful stuff with. This language then has an IDE that is quite advanced in some things (conditional formatting, charts) while strangely archaic in others (why are all variables are laid out on a grid?)
I wonder if there's an opportunity for a product that introduces a more powerful programming language and steps away from doing all the calculations on a grid, but that keeps the intuitiveness of Excel.
- jacques_chester 15y agoIndeed there is just such a niche of products, such as Resolver One. I think for a lot of people the attraction to spreadsheets is the same as for GUIs: very little short-term memory is required -- you can delegate remembering options and state to the user interface itself.
- hencq 15y agoInteresting, I didn't know about Resolver One. I'll try it out when I have some time. Thanks!
- jacques_chester 15y agoNo worries. I usually enjoy learning about odd technologies. In the programmability space there's also SIAG (Scheme in a Grid). For analysis you might also look at Quantrix and SuperTable for inspiration.
- fhars 15y agoYou are not the first one to think about that: http://research.microsoft.com/en-us/um/people/simonpj/Papers/excel/ http://research.microsoft.com/en-us/um/people/simonpj/Papers...
- 3pt14159 15y agoYou are right that Excel is the most widely used programing language, but it does have recursion and looping. They might be hidden under various tools (Macros for the trivial case, but Goal Seek for optimization, Data Tables for exploration, and Solver for multilinear optimization). Excel also does have the ability to have a "variable" hold multiple values. Pressing control-shift-enter will allow you to start using arrays in the cells, and there are a ton of functions that can handle them. So the reason excel won as the common mans programming language is that it doesn't force you to learn everything all at once. It starts you off as just a table of sorts (useful on its own), then you can graph stuff (useful), then you learn about sum(a1:a30) (useful), and you just keep going down the rabbit hole until you've mastered everything. The only thing that I really hate about Excel is that Procs cannot be run in parallel, otherwise so many other cool things would be possible. last time I checked, at least.
- tsycho 15y ago>> The only thing that I really hate about Excel is that Procs cannot be run in parallel, otherwise so many other cool things would be possible. I think Excel 2007 and further, Excel 2010 improved on that. Pivot tables, formula calculations and many other addins (not sure about Solver) use multi-threading.