4 ms·
It turns out that not having to name things is a feature. Users often avoid naming things and dislike being forced to do so. The reason is what developers alre
by jasoncrawford 9y ago
It turns out that not having to name things is a feature. Users often avoid naming things and dislike being forced to do so.
The reason is what developers already know: naming things is hard! (Two hard problems, etc.)
Of course, developers also know how valuable good names are, so we like to take the time to pick good names. Users would rather just skip naming altogether and refer to things by letter/number or just by clicking on them.
- pavlov 9y agoYes, clicking on "this thing right here!" is a powerful way for ordinary users to create references. It shouldn't be underestimated. Programmers are so used to having to name things that we don't see the mental overhead of using names. A named cell is conceptually a pointer -- you can change what it points to (by giving the same name to some other cell instead), and if you delete the referent, it can point to nothing. That kind of invisible indirection is not easy for non-programmers.
- DonHopkins 9y agoAn important thing about cell references that makes them almost but not quite entirely unlike pointers is that they can be relative, absolute, or mixed. https://support.office.com/en-us/article/Switch-between-relative-absolute-and-mixed-references-dfec08cd-ae65-4f56-839e-5f0d8d0baca9 https://support.office.com/en-us/article/Switch-between-rela...
- pavlov 9y agoAren’t named cells/columns a category of their own? They’re not relative nor absolute, but resolved by the name binding that exists at evaluation time.
- jasode 9y ago>It turns out that not having to name things is a feature. I think this is one of those great insightful points that's counterintuitive and yet has abundant real-world evidence we can't deny. I'd guess that vast majority (99%) of programmers that program in languages requiring explicit variable names (Python, C, Java, Go, etc) will still use Excel without named cells nor named columns. Yes, they will label their adjacent cells with freeform text (e.g. "TOTAL PRICE:") but they won't use the Excel "named regions" feature to be referenced in formulas. How do we reconcile the inconsistent attitude we have about the benefits of names?!? It turns out that yes, naming cells is a form of "code documentation" and helps avoid "spaghetti formulas" -- but it's also a friction. If programmers using Excel eschew cell names, it's a given regular users will too. It also doesn't help that "names" in Excel is not a 1st class feature. It's a separate menu item and the name is a hidden "alias" for the cell. With other products, the "name" of the cell is what you type into the box right there on the sheet. The UI for giving a cell a name is more immediate.
- cm2187 9y agoRange names come at a price. Try copying a sheet into another workbook that has conflicting names. Or copy-pasting your table in the same sheet to do something slightly different. I use excel a lot and I found that the only convincing use case for range names is if you need to refer to ranges from VBA, then this is the only way for the code to find its way on a spreadsheet even if someone inserts some rows and columns. Otherwise range names create more problems than they solve.
- kamaal 9y ago>>Try copying a sheet into another workbook that has conflicting names. This is really like copy pasting code from one namespace into other, with code in both spaces having same variable names. You really need to think of a spreadsheet as a function. It must have single responsibility and must be called by another sheet to be used.
- vertex-four 9y agoAnd now you're designing a system which has none of the benefits of Excel for end-users, again.
- kamaal 9y agoWe are designing nothing, excel allows you to create variables with names assured unique in a namespace(A single spreadsheet). You could use it any way you like. But if you are copying a formula that has things like variable names into a new sheet, you have to understand that pasting the formula with its variables pointing to nothing is like inducing a NullPointerException.
- vertex-four 9y agoYes, the point is, this is why people avoid naming things in Excel. Getting them to name things removes functionality.
- IncRnd 9y agoThose are great points. From that perspective it's very telling that the editor's/document's/spreadsheet's/product's name was taken from a long-time editor for the web, Coda.
- jdmichal 9y agoThis is on top of the glaring issue that, if my formula says multiply "itemCount" by "itemPrice"... Where do I actually find those things? If I see A2 referenced, I know exactly where to find it.
- esteban85 9y agothat is exactly the reason why developers dont get the naming/not naming conundrum, A2 is a better name than itemCount and a better way to reference when dealing with hundreds if not thousands of variables, the advancement would be actually the ability to autoname vars and then allow users to rewrite them in case of inaccuracy, and also still allow for coordinate mapping bringing the best of both worlds