PEP 570: Python Positional-Only Parameters

Calling something “subjective” is a way of dismissing it, but language design and usability don’t live in a metric space – there are no “objective” measures. That doesn’t mean that usability and beauty are unimportant. They are in fact the most salient features of the language.

Please don’t blow-off my concerns. For many years, I have spent nearly every working day explaining Python to groups of engineers and scientists across multiple companies and multiple disciplines. This makes me keenly aware of what challenges people face, what problems they care about, and what parts of the language either help or hinder them. I can report that the “/” notation in the help() output and tooltips has been an abject failure. It is not user friendly, necessary, or communicative.

Over time, we’ve had a trend of adding unnecessary, low-payoff complexity to the language. Cumulatively, it has greatly increased the mental load for newcomers and for occasional users. The help() output has become less self-explanatory over time and makes the language feel more complex. The proposal at hand makes it worse.

1 Like