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`. 

Reply via email to