It's cool to read that treeform is using Nim at reddit (and helps explain why he's so prolific!). I see the same question sometimes asked "what is Nim's killer feature", "what is Nim better at than other languages" and the answer given is usually "there is no killer feature, Nim is great at lots of stuff!". But I would argue Nim's killer feature is pragmatism. I think it's the most pragmatic language I've come across.<p>I love that I feel like I'm writing a cross between a dynamic scripting language and a functional language, but that nothing is off limits. I can still dive into memory management if I want to, yet I'm not forced to deal with a cliff of complexity up front. I'd be happy to choose Nim for command line tools, server code, or games and I can't think of another language where this is the case for me.<p>I've started writing some small internal tools in Nim for work. The language is approachable for other devs who "aren't into languages" to pick up if needed, but I can also share binaries with them so they can just use the tools without needing to set up an env.
What really seems to characterize Nim is its ability to be used as glue language between different codes. C/C++/objective-c/javascript interoperability is native, python interoperability seems to be pretty good. It makes me think a lot to python before it exploded in popularity with machine learning and education
It's great to hear Nim in production stories!<p>> I feel like Nim made me fall in love with programming again.<p>Same. It's just so <i>frictionless and productive</i>, and you know your code will run on basically any platform in a nice, efficient, self contained executable.<p>For me it's a language of sensible defaults. Speed and safety first, and opt-in machine level control. Want to target that obscure microcontroller? No worries: <a href="https://github.com/PMunch/ratel" rel="nofollow">https://github.com/PMunch/ratel</a>.<p>Want to use Unreal? Sure: <a href="https://github.com/jmgomez/NimForUE" rel="nofollow">https://github.com/jmgomez/NimForUE</a>.<p>Want to target the web? Native React support with <a href="https://github.com/andreaferretti/react.nim" rel="nofollow">https://github.com/andreaferretti/react.nim</a> or web apps with <a href="https://github.com/karaxnim/karax" rel="nofollow">https://github.com/karaxnim/karax</a>.<p>The list goes on! <a href="https://github.com/nim-lang/Nim/wiki/Curated-Packages" rel="nofollow">https://github.com/nim-lang/Nim/wiki/Curated-Packages</a><p>But, what if you want to use that battle tested C++ library? Nim can compile to C++ so you have native ABI FFI!<p>There's also a lot to be said for automation with AST macros.
The language is built around them, they're not just a tacked on after thought.
As a result, it's very easy to do everything from removing boilerplate copy pasta errors to creating mini languages or even generating APIs from data. This can give you new paradigms in approaching solutions for things that are quite painful in other languages.<p>I feel like this language could be a weapon of mass production for many businesses once they dip their toes in!