Python seems to be growing because of Data science and Artificial Intelligence.
Nim is a very good fit for Data Science and ML. I'm currently converting some data processing project to Nim, and finished converting couple tens of files and probably couple thousands lines of code in Nim. And I don't know details of `open_array` (I kinda guess why it's needed and how to use it), `iterators`, `templates` and `macros`. In my opinion: 1) What's limiting the growth of Nim is it's high entry barrier. It's its flexibility and wide set of features. And huge documentation trying to explain all those features. These days there are lots of good languages, and people won't be investing heavily into learning something new - unless they have a very good reason and motivation. You can understand that Nim is good only AFTER you read a lot of docs and invest a lot of time learning it. The problem is that the decision about learning Nim - should be made BEFORE people know it. What Nim needs - is "simple mode". The docs that show how to use it without covering all its features. And it shouldn't be "say little about everything", after reading those docs people should be able to actually use it in ways more than writing hello world. 2) Another thing to keep in mind that these days people use multiple languages. It's very hard to keep in mind every little details of say 3 languages. Nim should focus on making things simpler and require LESS HUMAN MEMORY. P.S. In my personal opinion - all low-level optimisation stuff like `iterators` (list.each(...) will be enough in 99% of cases), `macros`, etc. should be marked as optional/advanced stuff and not shown in introductory docs to not scare newcomers away. Like I wrote couple thousands lines in Nim converting data processing from TypeScript/Kotlin to Nim and I never need `iterators`, it only makes my life worse forsing me to re-write `table.keys` as plain functions returning `seq`.