I'm trying Nim for the first time, four days to be precise.

I had a couple of moments when I did not understand compiler messages. I did 
not know which places in my code to look at. With some luck I found good 
suggestions on the Internet. If I hadn't found these solutions I wouldn't be 
using Nim now. It's because when everything is new in a language one is not 
sure and not ready to spend hours thinking about the roots of a problem.

The first issue was about name conflicts of modules residing in different 
folders inside src (resolved with foo.nimble file in each sub-folder). The 
second issue was about import statement. I was constantly forgetting to import 
not only the module I use directly but also the modules for return values if I 
happened to use them.

I'm missing cross references in the Docs 
([https://nim-lang.org/docs](https://nim-lang.org/docs)). There are some, but I 
suppose it could be more of them. An example from PHP documentation with a 
**See also** section 
[http://php.net/manual/en/function.array-merge.php](http://php.net/manual/en/function.array-merge.php)

Some functions in Nim Docks have very short description.

To create projects with Nim I want to stick with the official package manager. 
I like Nimble for its simple config. It's not that convoluted as Webpack 
config. But I have not discovered how to use it for importing macros from my 
other projects. So videos demonstrating Nimble capabilities are in demand.

The language itself is very easy to adopt. I just use the part of it I 
understand. With time new parts are added. It is very good. You don't have to 
know much (read large chunks of documentation) to start using Nim.

Good modern documentation features are online code 
runners([https://play.kotlinlang.org](https://play.kotlinlang.org)), 
walk-throughs([https://www.haskell.org](https://www.haskell.org)) and fiddlers 
([https://jsfiddle.net/](https://jsfiddle.net/)) where you can share code 
snippets and run them in a browser.

Reply via email to