2 ms·
Yes, it's essentially UI/UX principles as applied to language design, with developers being the users. You want your users to be able to build reliable mental m
by Mawr 3y ago
Yes, it's essentially UI/UX principles as applied to language design, with developers being the users. You want your users to be able to build reliable mental models of your interface [1].
The optional parentheses example is a good one. That mistake was carried over to Crystal, it's such a silly little inconsistency that I'm sure the designers considered "cute" or "clever". It's naught but a constant pain in the butt.
Another good example is YAML vs JSON. I understood the entirety of JSON syntax pretty much immediately upon seeing it, it's trivial. YAML is supposed to be "easier for humans", but by forgoing a uniform and consistent syntax it ended up an order of magnitude harder.
[1]: https://news.ycombinator.com/item?id=36396256 https://news.ycombinator.com/item?id=36396256