A small perspective insight from a game developer:<p>We (Beamdog) are using nim in production for Neverwinter Nights: Enhanced Edition, for the serverside parts of running the multiplayer infra.<p>nim is uniquely good in providing an immense amount of value for very little effort. It gets _out of my way_ and makes it very easy to write a lot of code that mostly works really well, without having given me any serious traps and pits to fall into. No memleaks, no spurious crashes, no side-effect oopses, anything like that. It's C/++ interop has been a huge enabler for feature growth as well, as we can partly link in game code and it works fine. For example, our platform integrates seamlessly with native/openssl/dtls for game console connectivity. And it all works, and does so with good performance. It is all now a set of quite a few moving components (a message bus, various network terminators, TURN relays, state management, logging and metrics, a simple json api consumed both by game clients and web (<a href="https://nwn.beamdog.net" rel="nofollow">https://nwn.beamdog.net</a>), ...).<p>We're still lagging behind and are on 1.0.8, but that is totally fine. It's tested and works, and there's no real incentive to move to 1.2 or 1.4 - yet!<p>Usage for our game has expanded to provide a few open source supporting utilities (<a href="https://github.com/Beamdog/nwsync" rel="nofollow">https://github.com/Beamdog/nwsync</a>) and libraries (<a href="https://github.com/niv/neverwinter.nim/" rel="nofollow">https://github.com/niv/neverwinter.nim/</a>) too. The good part about those is that they are cross-platform as well, and we can provide one-click binaries for users.<p>OTOH, There's been a few rough edges and some issues along the way. Some platform snafus come to mind, but those have been early days - 0.17, etc. Some strange async bugs had been found and fixed quickly though.<p>Good and bad, at least for me, nim has been a real joy to work with. If I had the chance to message my 3-years-younger, I'd just say "yea, keep going with that plan", as it turned out to save us a lot of development time. I suspect the features we've put in wouldn't have been possible in the timeframe we had, if it would have been all written in, say, C++.