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.