> If you were to invent a language to be used in spreadsheets today, what would it look like?<p>Lisp. I'd have the cells contain data, and only data. You can type data into the cells like normal. However, when you want to input a formula I'd split the screen horizontally and have it start off with<p>(cell-name ( ____ ))<p>Have the user start typing in the middle of the second parenthesis where the underscore is by default - have it default selected to make it clear, slightly grey out the surrounding syntax so they don't immediately have to worry about it but bring it back to the normal colour if they click outside of that.<p>Clicking a cell back on the cells windows would insert a reference to it.<p>(cell-name (+ a1))<p>Dragging across cells would define a group with some syntactic sugar.<p>(cell-name (+ group a1 b2))<p>Inserting a graph would show you the code of the graph right there in the code window.<p>What might I do differently to Lisp? I'd replace the + sign with 'sum-of' and * with 'product-of' to help people get used to the prefix style. So the above would become.<p>(cell-name (sum-of group a1 b2))<p>I'd have sum-of inserted when you clicked the + key on your keyboard to make it clearer how it worked.<p>I think this would be quite intuitive and add a lot of easily seen power. We're used to using parenthesis to group math things, we're used to using variables, we're used to using functions - we just don't tend to think of those things as such.<p>All your logic would be visible in the code window, finally escaping the horrible black-box style of clicking off the cell and everything vanishing.<p>Potential problems?<p>'Ah, but Excel's for non-coders,' you might say. I don't think it is, not really. If you just want to add a range together you have to learn a formula that's quite similar to Lisp to begin with:<p>=SUM(a1:b2)<p>And in many ways it's less intuitive than Lisp is. Why is =SUM required to be like that, why do you need to group the references after SUM like that? What is the : meant to signify? And as you go develop more complex things like SUM-IF you're rapidly looking at something that's just a bad programming language.<p>You can sort of muddle your way into it by messing around - but I don't see that it's not a thing that people have to learn or that it's any easier than Lisp's presentation would be. Have you tried interviewing for admin jobs lately? I have, I try interviewing for jobs I'm not interested in from time to time, and even working some of them, just to keep in contact with the state of offices. Pivot tables and 'macros' are considered advanced excel knowledge - I've been in offices where most of the people working there don't know how to make a drop-down list for a cell, or how to use something as simple as SUM-IF.<p>Excel's language isn't simple for non-coders already. Where it wins above programming languages that we all are perhaps more familiar with, IMO, is that it gives people an immediate visual hook into a data structure that they can use as a starting point.<p>Like the REPL - but with a slightly different emphasis.