The math and physics worlds still use single-letter variable names for everything, decades after the software world realized that was extremely bad practice. This makes me pessimistic about the adoption of better notation practices.
Better? I doubt it. If physicists wrote equations the way programmers write code, a simple homework problem would easily fill ten pages.
Verboseness works for programmers because programmers rarely need to do anything more complicated with their code than run it—analogous to evaluating an expression, for a physicist or mathematician. Imagine if you needed to prove one program equivalent to another algebraically—i.e. a sequence of small transformations, with a record of intermediate programs derived along the way in order to show your work. I expect programmers subjected to such a use-case would quickly learn the virtues of brevity.
Yeah, I’m apparently not intelligent enough to do error-free physics/engineering calculations without relying on dimensional analysis as a debugging tool. I even came up with a weird, hack-y way to do that in computing environments like Excel and Cython, where flexible multiplicative types are not supported.
What if physics equations were written like statically-typed programming languages?
(mass⋅lengthtime2:F)=(mass−:m)(lengthtime2:a)
(masslength⋅time2:P)(length3−:V)=(−−:N)(mass⋅length2time2⋅temp:R)(temp−:T)
The math and physics worlds still use single-letter variable names for everything, decades after the software world realized that was extremely bad practice. This makes me pessimistic about the adoption of better notation practices.
Better? I doubt it. If physicists wrote equations the way programmers write code, a simple homework problem would easily fill ten pages.
Verboseness works for programmers because programmers rarely need to do anything more complicated with their code than run it—analogous to evaluating an expression, for a physicist or mathematician. Imagine if you needed to prove one program equivalent to another algebraically—i.e. a sequence of small transformations, with a record of intermediate programs derived along the way in order to show your work. I expect programmers subjected to such a use-case would quickly learn the virtues of brevity.
Yeah, I’m apparently not intelligent enough to do error-free physics/engineering calculations without relying on dimensional analysis as a debugging tool. I even came up with a weird, hack-y way to do that in computing environments like Excel and Cython, where flexible multiplicative types are not supported.