> Nim generates native dependency-free executables, not dependent on a virtual machine, which are small and allow easy redistribution.<p>That's... awesome. I've written a handful of little tools and scripts in Python for different (often non-technical) clients to use, but I've never found an easy way to package them up as a "click this icon to run the program" type of thing. If that's a solved problem with Nim I'm pretty much already sold.
I've been full steam on the Nim train for the past year. It really hits a sweet spot between semantic complexity and language power. If you've used any mainstream language and understand types, you already understand 80% of the semantics you need to be productive. But more advanced features (generics, algebraic data types, hygienic macros) are available when needed. Now that the language is approaching 1.0, the only caveat is a small ecosystem and community. Nim has completely replaced Node as my language of choice for side projects and prototyping.
WooHoo! I'm very excited about this. For me, nim has been the perfect glue language in many ways. I hope other people will give it a shot, try out the <a href="https://forum.nim-lang.org" rel="nofollow">https://forum.nim-lang.org</a> or their subreddit <a href="https://old.reddit.com/r/nim" rel="nofollow">https://old.reddit.com/r/nim</a>
If anyone is looking to learn Nim, Exercism.io has a Nim track with a good number of exercises.<p><a href="https://exercism.io/tracks/nim" rel="nofollow">https://exercism.io/tracks/nim</a>
Nim is a super fast python that also prevents typos.<p>I use nim everyday. 98% of my programming is in nim only. I highly recommend nim. During the day I work mostly on internal tools and dashboards, during the night I work on games. Nim compiles to JS and C. Its really good.
Forgive me while I make some gross generalizations:<p><pre><code> Objective-C -> Swift
Python -> Nim
Ruby -> Crystal
JavaScript -> Elm—or maybe TypeScript?
C/C++ -> Rust
</code></pre>
The future looks good.
> The undocumented #? strongSpaces parsing mode has been removed.<p>I remember seeing lots of controversy over this feature a previous time Nim was posted here. Hopefully, its removal will stop people from dismissing the language outright (which would be a shame given all the things Nim has going for it).<p>(That being said, if people still want to embrace Wadler's Law [0], there's the hot-button topic of case/underscore insensitivity to talk about. [1])<p>[0] <a href="https://wiki.haskell.org/Wadler%27s_Law" rel="nofollow">https://wiki.haskell.org/Wadler%27s_Law</a>
[1] <a href="https://github.com/nim-lang/Nim/wiki/Unofficial-FAQ#why-is-it-caseunderscore-insensitive" rel="nofollow">https://github.com/nim-lang/Nim/wiki/Unofficial-FAQ#why-is-i...</a>
I'm excited/hopeful about Nim's prospects. The list of "high level languages with garbage collection and exceptions that compile down to an efficient native binary" is very small.
OT: I am huge fan of whitespace-sensitive languages.[0] This is alone a reason why I wish nim all the best for its future!<p>[0] If a language is not whitespace-sensitive I prefer curly brackets as block markers.
Last I heard, nim was planning on removing the garbage collector and replacing it with a lifetime system, but I don't see anything about that in the release notes. Does that mean that 1.0 of nim will include a garbage collector?
Once NIM is stable it will be superior to Python in every measurable way. Is there any reason to stay with Python for new projects that don't depend on a particular Python library?