
Language Design Is Not Just Solving Puzzles (2006) - luu
https://www.artima.com/weblogs/viewpost.jsp?thread=147358
======
jstimpfle
Great post. It's not a coincidence that Python became successful. Guido is
principled. He can say "No". He has a clear design vision that helps him
differentiate between cool features and real user problems. I like how he lets
himself be guided by implementation complexity concerns and notes that these
complexities are in the end also a burden to the user (they can't be hidden).

------
_bxg1
I've always looked at not only languages, but libraries and APIs, as user-
interfaces. It's not just about what it lets you do, it's about how much sense
it makes. Interfaces should be shaped to guide the user into proper usage, to
adhere to assumptions the user will make about the underlying behavior, and to
leverage things like Gestalt principles to draw connections between different
facets.

------
antonvs
I don't find his arguments about things like the double colon at all
convincing. They just seem like arbitrary subjective points that you could
take almost any position on and claim it's a principle. It seems like a weird
kind of bikeshedding for a language designer (as opposed to an overly
opinionated user) to have such strong, yet clearly arbitrary, positions on.

Besides, this is a language that likes to surround special identifiers with
double underscores, which is almost objectively ugly.

~~~
jstimpfle
One thing, he pointed out that his objection to the double colon is not why he
rejected the proposal.

Another thing, reading closely I think what he wanted to say (but maybe failed
to communicate clearly) is that the double colon is a problematic lexical
choice because in the slice syntax, it's already possible to have two colons
in a row, _but these should be lexed as separate tokens!_

