The Subtext 10 Programming Language
I once built a complex spreadsheet for my colleagues. When I had to leave, what I built for them was almost instantly useless because there was too much they needed to understand. That got me thinking about the gulf between spreadsheets and programming languages. There are important differences:<p>- Spreadsheets don&#x27;t separate code from data, which is an important aspect of programming. Blending the two is a nice shortcut for spreadsheets, but it ruins maintainability.<p>- Naming is important for programming, but spreadsheets encourage users to not bother with names and fall back to cell coordinates like &quot;A10&quot; instead. It&#x27;s a great shortcut, but again, it ruins maintainability.<p>- Spreadsheet formulas operate on scalar values, while programming languages operate on nested data structures. Data structures are a key to managing complexity, yet the spreadsheet paradigm has only a very limited view of them.<p>If users are ever going to be able to use a spreadsheet-like interface for serious programming, most of those issues will need to be addressed in a way that doesn&#x27;t hurt usability. That&#x27;s a tall order! Users already struggle with function calls in formulas. At some point it&#x27;s smarter for users to just pay a programmer to figure out how to build it.