2019-05-26
Why I no longer have strong feelings about changes to Python
A while back I wrote about when I'll probably be able to use the
(then) very contentious Python assignment expressions and said in passing that I didn't have
any strong opinions on them. There was probably a time when I would
have felt differently; for example, I used to have relatively
strong feelings about 'A if CONDITION else B
' conditional expressions and I'm not sure I do any more, although I don't
seem to have used them yet in any recent code.
(Since I had to look up the syntax just now, that's probably partly because I just didn't remember how to write them.)
There are two ways of putting why I no longer have strong opinions here. The first is that I no longer really care what Python looks like. The second is that I have lost my mental picture of Python; what was once clear enough for me to have opinions on how things looked has dissolved into a muddle. These two reasons are related, of course, with each contributing to the other. Since Python has turned into a complex muddle of a language, with more features and syntax than I can keep track of at my current relatively low and infrequent usage of Python, one more piece of syntax makes little difference to me and I can no longer have any opinions on conceptual unity, Pythonicness, or the like.
Will I ever use assignment expressions even once they're available to me? Probably not, honestly, unless I find some code where they would make things much clearer and I remember that they exist. In practice, a fair number of new Python 3 features have not been compelling enough to get me to even think about using them (or, to put it more bluntly, to remember them in any detail).
(There is also the issue that a lot of my current Python code is
written for work, and there I run into the same issue as my
pragmatic problem with using the attrs
module in work code. In practice this concern is probably
overblown. Among other things, I suspect my current Python code is
less readable than I think.)
PS: My detachment from modern Python 3 is not exactly a strength and perhaps someday I should reset it, perhaps by going through the current Python 3 tutorial. Sooner or later I should learn how to write modern Python 3 code, however that looks and whatever modern idioms the community has settled on as good practices.