On 1/17/2019 11:31 AM, H. S. Teoh wrote:
[...]
Thanks for the thoughtful and well-written piece.
But there is a counterpoint: symmetry in mathematics is one thing, but symmetry
in human intuition is not. Anytime one is dealing in human interfaces, one runs
into this. I certainly did with the way imports worked in D. The lookups worked
exactly the same for any sort of symbol lookup. I thought it was great.
But I was unable to explain it to others. Nobody could understand it when I said
imported symbol lookup worked exactly like any lookup in a name space. They
universally said it was "unintuitive", filed bug reports, etc. Eventually, I had
to give it up. Now import lookup follows special different rules, people are
happy, and I learned (again) that symmetry doesn't always produce the best outcomes.
User interfaces (and programming languages certainly are user interfaces) are
hard and (ironically) are anything but intuitive to design.