Really? I would like to read/write index, count over i, n anyday.
It just feels like you are justifying the bad naming conventions that come over from cs101 classes. I don’t know what the “world” uses, but good explicit names which makes sense in the first glimse are better.
I am feeling conflicted in criticizing this article; because from the title I thought I will actually like it, but the chosen example and reasons thereof are so off the mark that it simply fails to deliver.
I completely agree with the viewpoint though, that what is taught as idiomatic python are sometimes just some shortcuts /novelties that are built into the language to make some specific usecases easier, but their scopes are very narrow and the knowledge in not portable to other languages.
For example, list comprehensions in Python — it is a small subset of LINQ-ish features present in languages like C#.
While it is quite useful for doing map + filter with a concise syntax, it is not usable for complex map/filter operations (as it only supports map/filter expressions and not functions +its unmanageable beyond 1 line) and is not user extendable. It works well, no doubt, for many common usecases, but completely misses the general programming ideology behind introduction of LINQ. It fails to grow beyond the role of syntactic suger, even though it had a promising future.