Hacker News new | ask | show | jobs
by dsrw 2190 days ago
It’s really for both. I’m paraphrasing, but during Araq’s intro talk during the conference he said something like “Nim should be suitable for every task, but maybe not every programmer”. Whatever you’re trying to do, there’s probably a pretty good way to do it in Nim. It can run on microcontrollers or supercomputers. It can compile to C, C++, JS or LLVM ir (via nlvm), and has a good interop story with all of them. You can use it’s advanced meta programming facilities to create specialized domain specific languages, or you can ignore that feature and write code that looks more or less like python. It has an advanced compiler with lots of optimization opportunities, but it also has an interpreter if performance is less important.

You can use it without GC, but the new arc collector is suitable for hard real-time, so I don’t think there are many cases where you’d need to drop to manual management.

The main downsides (in my mind) are the small community and somewhat limited debugging support. I really like the language however, and use it wherever I can.