3 ms·
It's always a tradeoff. Single-letter variables are extremely superior if you're working out math on paper or at a board. It is simply not possible to work thr
by exmadscientist 5y ago
It's always a tradeoff.
Single-letter variables are extremely superior if you're working out math on paper or at a board. It is simply not possible to work through a long and complex calculation or derivation with variable names that are not compact.
You also end up concentrating more on structure than on identity. You recognize idioms (like the dot products in your example) and it almost doesn't matter what the things being dotted together are; the physical form of the problem guides you to what they must be, even if you lose track. There is only one way it can go.
The flip side is that if someone else does the derivation, and you just need to use the result, it's basically completely incomprehensible to you. You haven't put in the time to understand the problem yourself (if you had, you'd "just" have derived or at least worked through everything yourself), so the extra affordance of long, descriptive variable names often makes a tremendous difference to final understanding.
This, incidentally, is a major point of difference between programming code and mathematics. For any good mathematics problem, there is only one right answer, and any attempt to solve that problem will reach it. (Possibly in a different guise, but the solutions will certainly be isomorphic.) Programming is so often business-driven or real-world-constraint-driven that this is not true. Two attempts to solve the problem may diverge radically. And no one will ever derive business logic from ZFC set theory! So for mathematicians, the fundamental understanding of the problem domain necessary to do good mathematics enables the use of terse, fluid notation. Since programming just doesn't work that way, its verbose, rigid notation is much more useful.