Anyone have thoughts on nim vs rust for data centric (Scala like) applications
Some of the rust problems mentioned (like clone for arrays) have been fixed. Others, like static generics, have not been (AFAIK).
11–20 of 68 posts
Anyone have thoughts on nim vs rust for data centric (Scala like) applications
Some of the rust problems mentioned (like clone for arrays) have been fixed. Others, like static generics, have not been (AFAIK).
I keep seeing Nim and it looks really productive and very interesting! Does anyone know how it compares to Zig?
Nim is mainly a productivity language. You have GC by default, extensive stdlib, lot of syntax sugar and metaprogramming features. You can create untraced pointers and do manual memory management.
Thus, among the new crop of compiled programming languages
Productivity languages with GC: Crystal, Nim, Go, Swift (automatic refcounting, not GC)
Manually memory managed, low level: Zig, Rust, Odin. Nim can do manual memory management as well but doesn't seem to be primary use case.
This is pretty good. I was wondering about CUDA and it looks like Nim has support for writing CUDA kernels. Is there a repository of kernel implementations I can take a look at?
This is pretty good. I was wondering about CUDA and it looks like Nim has support for writing CUDA kernels. Is there a repository of kernel implementations I can take a look at?
https://github.com/mratsim/Arraymancer probably has a lot of examples in it's implementation
Anyone have thoughts on nim vs rust for data centric (Scala like) applications
I can't speak to data centric but I was looking at both Rust and Nim for a project recently. I love the syntax of Nim and it feels incredibly easy to write in. The power of the macro system is amazing. But the Rust community is so much bigger, pretty much every question I had was answered after a quick Google search.
Nim does have a syntax I prefer more, but overall I find I’m quite a bit more productive with Rust.
What I like about Nim is that you can always get C performance if you just spend a little time. You can always use a profiler you like (I use vTune) to get to the hot loops and fix them. See my post here: https://forum.nim-lang.org/t/5363#33576
Anyone have thoughts on nim vs rust for data centric (Scala like) applications
If they’re data centric, would you not be better off with vanilla python? If you have numpy do the heavy lifting, it’ll be as fast plus all the syntactic/ecosystem benefits
Anyone have thoughts on nim vs rust for data centric (Scala like) applications
Do you use Scala as a better Java? If so, Nim may be what you want.
Do you use Scala for its incredible type system? Rust may be what you want.
Do you use Scala for its functional tendencies? Rust may be what you want.
As an aside, I've found that once you get over the Rust learning curve, writing 'correct' programs is easier in Rust than any other language I've used. And for data centric applications, being 'correct' is extra important.
Syntax wise Nim it is a step back. It's hard to read and understand while any C/C++ dev will have next to no effort reading through D code. And of course while D is C ABI compliant it interoperates with C++ well too.
I seriously doubt that Nim or any other language in this regard has better metaprogramming than D.
Nim might have a speed overhead in certain tasks but that depends on a benchmark. Besides, does Nim have anything similar to NumPy which is actually faster? D does.
With all due respect, Nim is a great language performance wise however I fail to see how is it different from D. Many advertised features have been present in D for a long time. Syntax wise Nim it is a step back. It's hard to read and understand while any C/C++ dev will have next to no effort reading through D code. And of course while D is C ABI compliant it interoperates with C++ well too. I seriously doubt that Ni…