My experience with Nim:

The core of the **language** is mature and good (I personally would like to 
have a more auto infer, but it's ok as it is).

**Macros** is mature, but hard to use for a seasonal developer (who use Nim 
only 20% of the time). Every time I use complex macros I regret it later. You 
look at macros code you wrote couple of months ago and thinking "how it works?" 
or "how to fix or modify it?". Too hard to use. I try to avoid macros as much 
as possible.

**STD** not bad, better than Java/JS, but nowhere near as good as say 
Ruby/Elixir.

**Parallel** seems immature, it kinda works, but there are surprises and in its 
current state it's mostly for experts, not ordinary developers.

**Fast IO** currently available as Async IO. Works, but too many surprises. 
What you do with Node.JS in an hour may require days spent on debug in Nim 
Async IO.

**Servers** immature, too much unexpected crashes, don't know if it's my 
mistakes or some leaks.

Reply via email to