3 ms·
You may like to take a look at the NimConf presentations - https://conf.nim-lang.org/2020/ https://conf.nim-lang.org/2020/ and https://conf.nim-lang.org/2021/ h
by akavel 4y ago
You may like to take a look at the NimConf presentations - https://conf.nim-lang.org/2020/ https://conf.nim-lang.org/2020/ and https://conf.nim-lang.org/2021/ https://conf.nim-lang.org/2021/ - for some nice inspiration as well as discussions of pros and cons done by actual practitioners.
As for me, in short words, what I found especially amazing in Nim was its resemblance to pseudocode (I literally found that it's a great notation to use when thinking in a notebook), fast compile times while at the same time low-bloat, macros, and the crazy impressive cross-platform story - including a JS target (I used it to write a functioning WebExt plugin for a browser; though I quickly got tired of the HTML+CSS part that remained necessary). At the other end of the x-platform spectrum, if you take a look at the videos, people are also successfully playing with Nim on microcontrollers (and I mean the real, small ones, not the Linux-hosting kinds). As for a few less amazing aspects, I struggled with the parallelism story; it is there, which makes it a complete modern runtime - but I found it nonstandard enough (and possibly somewhat unpolished?) that I failed to complete a hobby project where it was required. Thus (and also for a number of completely of unrelated reasons) I personally switched to learning Rust after Nim. Nim's package management is also missing lockfiles for reproducibility; I believe this might have recently gotten back into spotlight and hopefully is being worked on, but I don't know for sure, I'm not tracking the community now.
PS. Ah, and Araq (the BDFL) is constantly experimenting with some really cool stuff (e.g. the Orc garbage collector). Which gives the language and ecosystem some of its most interesting, exciting, and exceptional traits; OTOH then I'd say the financial support story of the language is regrettably not enough for some of the class-leading prototypes to make it past teaser stage (see e.g. DrNim: https://nim-lang.org/docs/drnim.html https://nim-lang.org/docs/drnim.html).