I met Nim in late 2017 when I was researching an IRC Bot, for Icecast, for an 
IRC colleague. At the time I thought it was interesting, but I couldn't do much.

I only got back to actively working with Nim at the end of 2018 and beginning 
of 2019, when I wrote a first program. Since then, I abandoned all other 
programming languages ​​I used. Today, practically, I only use Nim. My majority 
use is for small command line (cli) programs - I must have a dozen of them out 
there; a network protection IRC bot; in addition to two graphical interface 
programs.

Nim has evolved a lot and for the better since I met him. Everyone involved in 
language development deserves congratulations.

Now, points that I believe can be improved:

1) The documentation has improved extremely positively, but there are still 
points that can be improved.

2) The stdlib, in my opinion, is satisfactory. Talking about stdlib is very 
subjective as some may argue that it is too big and others small. But in view 
of stdlib's wide range of packages, it lacks a high-level cross-platform UI 
package.

3) Threading was quite painful at first – it still is. From what I've read and 
learned, it's due to Nim's GC refc. I'm glad the team is working on a new 
threads module (and its auxiliary packages) aimed at ARC/ORC.

4) Perhaps the point that makes me most sad is the little evolution I noticed 
in the asynchronous modules. Since I met Nim until today, I see such 
information in the asyncdispatch package: "The async procedures also offer 
limited support for the try statement....Unfortunately the semantics of the try 
statement may not always be correct, and occasionally the compilation may fail 
altogether. As such it is better to use the former style when possible". It's 
been 4 years and it's still there. I also always ran into some bug with 
asynchronous. Perhaps it's the easiest part of Nim to run into a problem while 
develop up. But even so, I love Nim's asynchronous, which was one of the 
biggest draws to me. CPS is under development and I hope it bears good fruit.

5) nimble only has one problem: there is no option to update installed packages.

I believe that's it.

Reply via email to