Nim — A Programming Language That Combines Best Of Python, Go, And Rust
Short Bytes: Nim, formerly known as Nimrod, is a statically typed, powerful, imperative programming language that doesn’t compromise with runtime efficiency. Having a syntax similar to Python, it encapsulate the best features of Go, Python, Rust, and Lisp. Despite the challenges faced due to small community of developers, Nim allows one to create robust and fast software.
New programming languages are created every other day. But, what’s the inspiration behind them? It could be surely the urge to expand the capabilities of existing programming languages or introduce new features. By working on the shortcomings of vintage programming languages, relatively newer languages like Swift and Go have managed to woo developers.Today, I’m going to tell you about one such new language named Nim. It has been under development since 2008 and its most recent release is 0.16, which was made available earlier this month.
The syntax of Nim might remind you of Python as it uses indented code blocks and similar syntax at some occasions. Just like Rust and Go, it uses strong types and first class functions. Nim is object oriented, but with composition preferred over inheritance.
Nim, formerly called Nimrod, calls itself a statically typed, imperative programming language that “gives the programmer ultimate power without runtime efficiency” compromises. What does it mean? It means that Nim focuses on compile-time mechanisms in their various forms. A semantic model supports soft realtime GC on thread local heaps.
Nim focuses on thread local heaps and messages passed between threads. As each of them has dedicated GC, there’s no need of “stop the world” mechanism. Talking about the benchmarks, it’s comparable to C.
Nim compiler produces C code by default. With the help of different compiler back-ends, one can also get JavaScript, C++, or Objective-C.
Nim compiler and library are MIT licensed. Thus, it allows you to use any license for your programs that use Nim.
For more information, feel free to visit Nim’s website.