3 ms·
nim truly deserves more love,it is my lang to pick up this year,safe c++ with python syntax,great combination to me,and it is also mature,cross platform,product
by synergy20 4y ago
nim truly deserves more love,it is my lang to pick up this year,safe c++ with python syntax,great combination to me,and it is also mature,cross platform,production ready.
- weitzj 4y agoYeah. That is my goal as well. I struggled choosing between learning Rust, Zig, Ocaml or F# and landed at Nim Given the compilation step to C allows nice FFI and using all kinds of compilers
- cb321 4y agoI think it's a pretty nice prog.lang (PL). You may be very happy. Though nothing is perfect, there is much to recommend it. By now I've written over 150 command-line tools with https://github.com/c-blake/cligen https://github.com/c-blake/cligen . A few are at https://github.com/c-blake/bu https://github.com/c-blake/bu or https://github.com/c-blake/nio https://github.com/c-blake/nio { screw 1970s COBOL-esque SQL ;-) } or in their own repos. I use quite a few every day..(EDIT: some even dozens of times per day - "production" is more an aspect of code than a PL itself - e.g., is poorly tested Python code "production"). If it helps, I like to use the "mob branch" [0] of TinyCC/tcc [1] for really fast builds in debugging mode, but this may only work if you toss `@if tcc: mm:markAndSweep @end` or similar in your nim.cfg. Then I have a little `@if r: ...` so I can say `nim c -d:r foo` for a release build with gcc/whatever. [0] https://repo.or.cz/w/tinycc.git https://repo.or.cz/w/tinycc.git [1] https://en.wikipedia.org/wiki/Tiny_C_Compiler https://en.wikipedia.org/wiki/Tiny_C_Compiler
- sva_ 4y ago> https://github.com/c-blake/bu https://github.com/c-blake/bu That's quite an impressive amount of cmdline tools.
- cb321 4y agoThanks. Just a fraction published as I try to motivate/document/clean up before doing so. I kind of live at the Zsh prompt and tend to fill gaps as I find them & iterate on that. Also, if you think of an idea for more, please feel free to raise an issue - maybe it's already done somewhere. Or even better, use it as an excuse to learn Nim and file a PR or even better do your own repo. :)
- aquova 4y agoI had played with it a bit, and used it as my Advent of Code language this year. I really adore the language, it's been my go-to language for hobby projects lately. I wouldn't say it's quite production ready, but for personal projects I think it's great.
- alberth 4y ago> I wouldn't say it's quite production ready Would you mind elaborating why.
- synergy20 4y agohttps://www.reddit.com/r/nim/comments/raduux/is_nim_production_ready_in_2022/ https://www.reddit.com/r/nim/comments/raduux/is_nim_producti...
- tokai 4y agoThe comments answers that it is ready.
- aquova 4y agoSome issues I've seen (and are pretty minor) are: - Nim is case-agnostic. Tokens ignore cases and underscore so foo_bar == foobar == fooBar. I personally find this enjoyable for my personal projects, but it remains a contentious subject. - Parallel support is pretty buggy. I've had loads of bizarre issues related to parallelism on the current version (1.6.10). However, from what I've tested in the release candidate, version 2.0.0 seems to have fixed a lot of these issues. - The official documentation is really good, but if you don't find something there, its hard to find it anywhere (details regarding its Javascript target remain pretty sparse, for example). All new languages will suffer from this though, and I don't think its severe enough to mark is as "not production ready" by itself, but it's worth noting.
- monetus 4y ago> Nim is case-agnostic. Tokens ignore cases and underscore so foo_bar == foobar == fooBar. I have yet to be conviced it is a negative - or that the potential cons outway the potential pros, and I'm steadfastly stuck on this hill for now. Thanks for the comment.
- buffalobuffalo 4y agoI actually use it quite a bit in tandem with python. There's a python module called nimpy that makes the interoperability almost effortless.