2
User
Recs.
Recs.
34
Updates
Last
Updated
Updated
Activity
21 Options
SpecsUpdate
Current stable version2.0.0
PlatformsWindows, MacOS/iOS, Linux /Android/Termux, *BSD, Solaris/SmartOS, HaikuOS, lots of others
LicenseMIT
GZipped size14,2 MB
IDE Supporthttps://github.com/nim-lang/Nim/wiki/editor-support
CPUAll CPU architectures that have an ANSI C compiler or JavaScript interpreter
Top critics consensusWhitespace blues, inconsistent, weird, confusing, not mainstream, unsafe
Compiles toC, JavaScript
Pros
Pro Concurrency and parallelism
Nim uses async await to achieve concurrency. Like C#, Python, Hack, Dart, Kotlin, JavaScript and (soon) Rust (in fact, the Rust implementation is worthy of mention as it originally intended to be implemented via macros, it seems they gave up on that for now though. Nim's implementation is still 100% macro-based.
Nim has a spawn for parallelism, and you can also use channels if you wish.
Pro Easy to integrate with another languages
You can use Nim with any language that can be interfaced with C. There's a tool which helps you to create new C and C++ bindings for Nim - c2nim.
Also you can use Nim with Objective C or even JavaScript (if you're compiling for these backends).
Know any positive aspects of this option?
Cons
Know any negative aspects of this option?
Recommendations
Nim
Recommended a year ago
Pro
Compile-time executionPro
Really cross-platformPro
Multi paradigmPro
Easy to readPro
Great metaprogramming featuresPro
Easy to integrate with another languagesPro
Built-in Unicode supportPro
Strict typingPro
Has built-in unittest modulePro
Type interferencingPro
Garbage-collectedPro
Has built-in async supportPro
Supports UFCS (Unified Function Call Syntax)Pro
Concurrency and parallelism