> Maintaining a dependency graph would give us the most efficient updates, but it’s often an overkill for a spreadsheet. It's not overkill at all. In fact, it's absolutely necessary for all but the simplest toy examples.
Isn’t the existence & success of visicalc a direct counter to this?
It would seem that the creators of VisiCalc regarded this is a choice that made sense in the context of the limitations of the Apple ][, but agree that a dependency graph would have been better.
https://www.landley.net/history/mirror/apple2/implementingvi...
Edit: It's also interesting that the tradeoff here is put in terms of correctness, not performance as in the posted article. And that makes sense: Consider a spreadsheet with =B2 in A1 and =B1 in B2. Now change the value of B1. If you recalc the sheet in row-column OR column-row order, B2 will update to match B1, but A1 will now be incorrect! You need to evaluate twice to fully resolve the dependency graph.