That’s a great write up, and you’re English is infinitely better than my 
knowledge of your mother tongue :-).

These are my thoughts as a very experienced dev (20+ years, primarily Java, 
Scala, Clojure erd) but a complete newbie with Nim.

For me, it felt like there is a base set of knowledge that the existing 
documentation assumes. As it is a “systems” language (whatever that nebulous 
term means), maybe that is OK. For example, it compiles to C so it should be 
obvious how to cross compile, as that is done at the C level, not the Nim 
level....except I last did C 20 odd years ago.

I also found the fact you can specify the same thing a number of ways, made 
learning it significantly harder, because different examples are in different 
syntaxes. I don’t claim the existing docs use different syntax, but it would 
help enormously if the documentation used the same syntax (without necessarily 
proposing a blessed syntax), with a page up front warning against macros AND 
describing the various syntaxes.

For tooling, my main attraction to golang was the batteries included stdlib, 
and the ability to build a single static EXE for Linux and Windows was just 
great. It _[almost](https://forum.nim-lang.org/postActivity.xml#almost) made up 
for the compromises in the rest of the language! A “blessed” tool/process for 
cross compiling would be awesome. I put together an example docker for Linux 
and Windows 
([https://github.com/yatesco/docker-nim-dev-example](https://github.com/yatesco/docker-nim-dev-example))
 but it is nowhere near ready for production.

It would also be worth writing a “LSP” adapter to the features in the nim 
conpiler.

For maturity, the fact there are posts around from 2015 saying v1.0 was near, 
yet we still don’t see v1.0 made me very nervous. I think a highly visible 
roadmap to v1.0, even if the roadmap is for another 12 months! would give the 
sense of calm and confidence that the language is a maturing and ongoing 
concern. At the moment it feels like a kernel of gold surrounded by mostly 
platinum borders but some borders being cheap and frilly plastic :-).

The community, in my experience is the main hook. It is an overwhelmingly 
welcoming and supportive place with people ready to step in and help (see the 
PRs to my docker project for example).

Finally, @araq and team - you have built something 
_[really](https://forum.nim-lang.org/postActivity.xml#really) amazing here, and 
I take my hat off to you!

I look forward to be part of the Nim community over the next 5 years as we 
slowly liberate programmers everywhere from the clutches of mediocrity and 
frustration from lesser languages :-).

(Typed on an iPhone with chubby thumbs)

Reply via email to