3 ms·
I'm intrigued by Nim after browsing through some of the basic tutorials. Looks quite straightforward to get started. As with other languages I look at, for my u
by kartikkumar 12y ago
I'm intrigued by Nim after browsing through some of the basic tutorials. Looks quite straightforward to get started. As with other languages I look at, for my use-cases it's important for me to understand0 if scientific packages are available and if there's a "scientific computing ecosystem".
I had a look through the `packages.json` [1] listing for Nimble [2] and couldn't really spot the maths packages that I'd need, e.g., numerical integration, optimization, linear algebra. Given that I can't find any of those, I'm guessing there aren't any physics packages either e.g., Newtonian mechanics, physical constants etc. Maybe maths libraries are available as ports to e.g., Eigen, NLOPT etc.?
Can anyone that is more familiar with the community comment on the potential of Nim as a language for scientific computing, in contrast to e.g., Julia?
[1] https://github.com/nim-lang/packages/blob/master/packages.json https://github.com/nim-lang/packages/blob/master/packages.js...
[2] https://github.com/nimrod-code/nimble https://github.com/nimrod-code/nimble
[3] http://eigen.tuxfamily.org/index.php?title=Main_Page http://eigen.tuxfamily.org/index.php?title=Main_Page
[4] http://ab-initio.mit.edu/wiki/index.php/NLopt http://ab-initio.mit.edu/wiki/index.php/NLopt
EDIT: Fixed typos
- ldlework 12y agoWhile I'm not super familiar with the scientific computing field, I can say that Nim needs everyone's help in building the library ecology. Right now, Nim seems to be in the wrap-all-the-things! mode. You can see that most of the available packages are bindings to existing libraries. I'm not sure this is a bad thing. And I don't think it has anything to do with anything other than Nim's currently small community.
- thalesmello 12y agoI don't see a problem with that. Since Nim compiles to C, it's only natural for people to take advantage of existing C libraries.
- ldlework 12y agoI certainly agree.
- kartikkumar 12y agoI haven't dived deep enough to figure out if integration with existing C/C++/Fortran libraries works out-of-the-box, or whether you have to setup bindings a la Python. If it works out-of-the-box, my question is moot, especially if two-way interoperability with Nim code is seamless.
- ilaksh 12y agoYou have to set up bindings but it is as simple as it could possibly be to do by hand, and there is a c2nim program to help.