It's understandable that it doesn't mention Nim, because its popularity metrics are still far below those languages, although they are growing quickly.
Of course any such analysis is an over-simplification. There aren't distinct eras and many different trends happening at once. But it's still a worthy topic of discussion.
It's interesting to speculate how Nim can fit into that narrative if/when it gains popularity several years from now, and how the next major "era" of programming language design can be surmised.
Some ideas:
Like I said in another thread, Nim makes trade-offs that benefit developer writing convenience over the strict consistency and explicitness found in languages like Ada, Java, Go, and even Python.
Yeah you said that, and I think it's quite wrong. There is no trade-off between readability and ease-of-writing in the classical sense; maybe Perl does that, but Nim doesn't. The difference between
t[x] = t[y] + 1
and
tables.put(t, x, system.`+`(tables.get(t, y), 1))
is not clear cut. It's much easier to spot the bug in the first variant (it should have been t[x] = t[x] + 1)... I prefer to see the algorithms not the plumbing. If the []= operator doesn't do what I think it does, it's misnamed -- no matter the module it's coming from.
Furthermore, a world where x.len is different from x.len() which is different from len(x) is not adding clarity at all, it's even more confusing -- what's the difference between them? Do I need to watch out to call the right one? Is one slower than the other?