Hacker News new | ask | show | jobs
by SiempreViernes 2039 days ago
This argument falls by simple counter example: cos, sin, log are all multi character names that are routinely used with no significant syntax confusion without having to use explicit multiplication indicators. So longer names are routinely used despite apparent impossibility due to multiplication confusion.

No, notation is terse for other reasons. Largely driven by the very common practice of writing it by hand. If you give your new object a long name and use that very name as a symbol you'll quickly discover that others who are interested will just abbreviate it to a letter to save effort writing it.

1 comments

And in programming we generally frown uppon global use single letter identifiers. There are of course exceptions (jQuery comes to mind).

That is why we have aliasing in most shell languages or the using directive in C# and C++, or try-with-resources in Java. Aliasing is there when you need it but it is only used locally.

In math it kind of is the default. Trigonomerty is the exception.

Nobody really programs by hand, so I'm not sure what that remark aims towards? The practice of maths and programming are so different I don't know where you think there is any clarity gained from direct comparison.
I think there is clarity to be gained from the history of programming. Programming went from very very hard (punch cards) to write to very easy to write (intelisense). And we also went from code being mostly written to code being mostly read.

With each step there was a move to either make best practices more verbose or terser. Verboseness has been a solution to defects. Better languages have been a solution to verboseness. For example: when typing bugs became common, hungarian notation became a best practice. The noise was an acceptable tradeoff. When better type checking became available, hungarian notation was abandoned because it produced noise. The compiler already did al the work for you. Improvements in the tools happened at the same time as improvements in the language.

All of this was motivated by growing code complexity resulting in increasing team sizes.

Math is also growing in complexity and collaboration is increasingly digital. But so far, I have only seen tool improvements, the language has mostly been stuck. If the language does not evolve tools will evolve much much slower.

Nobody programs by hand ANY MORE. Everybody did in the age of punchcards.