Re:Ray Tracing in Nim
by ca_parody on Wednesday July 01, 2020 @10:19PM
(#23709275)
The main reasons I see for nim in scientific computing over python are:
(a) you need performance for applications outside of numpy / pandas & you want to avoid writing a C extension to do so (nim is also actually a good choice for python extensions via nimpy - if you are still using python as the main language of your project/system)
(a2) you want good concurrency (some would say python's async/await is good - but it feels too little too late to me) & you at least want the option of parallelism (like this article takes advantage of)
(b) you want / need the powerful macro system for dsls / custom (compile-type-checkable) language extensions.
There is a good future for nim in scientific computing (frankly, there is a good present) - but for it to be better, people need to be willing to forgo some of the ecosystem (when possible) and to help build that future.
(a) you need performance for applications outside of numpy / pandas & you want to avoid writing a C extension to do so (nim is also actually a good choice for python extensions via nimpy - if you are still using python as the main language of your project/system)
(a2) you want good concurrency (some would say python's async/await is good - but it feels too little too late to me) & you at least want the option of parallelism (like this article takes advantage of)
(b) you want / need the powerful macro system for dsls / custom (compile-type-checkable) language extensions.
There is a good future for nim in scientific computing (frankly, there is a good present) - but for it to be better, people need to be willing to forgo some of the ecosystem (when possible) and to help build that future.
https://github.com/nim-lang/needed-libraries/issues/77