Nim programming language reached v1.0 on Monday, bringing with it a guarantee of stability and enthusiasm from its fan community.
"Version 1.0 marks the beginning of a stable base that can be used in the coming years, knowing that future versions of Nim will not break the code you have written with the current version," Nim's team said Monday.
The goal of the team is to ensure that the Nim code compiled in 1.0 will still be compiled in versions 1.x. Stability and better documentation were the two most requested features in a community survey of Nim published about a year ago.
The creator of Nim, Andreas Rumpf, known as "araq" in the Nim community, celebrated the milestone in a blog post. Version 1.0, he said, will follow a more disciplined process to add new features.
"From version 1.0, we follow the development & # 39; spec first & # 39 ;: first we write an RFC, then we discuss it, then we write the specification, then we implement it, then the perceptions obtained from the implementation flow back to the specification, "he explained.
Nim has been described as intermediate between Go and Rust in terms of ease of learning. It has also been described as a faster Python that avoids typographical errors. Python is a common touch stone because, like Nim, it is easy to read.
"Nim is a compelling small language with Python-inspired syntax and strong functional capabilities and rapidly evolving libraries," said Jamieson Becker, CEO of Userify, in an email to The Register . "The tools are quite nice and nice to work too."
Becker also praised Nim's cross-platform capabilities. "I also have some constructive criticism, but I think they will be resolved in a few more years as [Nim] matures."
Becker, in a publication in Hacker News earlier this year, said that Nim deserves consideration as a systems programming language, along with Rust, and will soon become more attractive as an application language as Nim libraries mature
In an email to The Register Timothee Cour, a senior machine learning engineer at Lighthouse, said Nim's advantage is that it gives you the speed and portability of C, the ease of use of Python and a quick compilation, with the ability to have your entire stack (mobile, frontend and backend) using the same standard language and library.
"Like D, Nim is relatively unauthorized and supports multiple programming paradigms (imperative, generic, object-oriented, functional)," he said. "However, what really distinguishes it from all other languages is its unique metaprogramming characteristics."
"Nim macros in particular allow you to manipulate the syntax tree to write custom DSLs, delete repetitions, automatically generate links (nimterop) or command line interfaces (cligen), integrate with python (nimpy), serialize / deserialize automatically (for example, protobuf-nim), generate single-page web applications such as React (karax) and, in general, allow libraries to extend the language without inflating the compiler. And because all this can be done in time of compilation also avoids the need for complex makefiles or compilation scripts. ”
The language, which shares some similarities with Haxe, is not widely used at this time. Beyond Userify and Status.im, only a few companies are implementing the Nim code. But developers who have tried Nim tend to speak well of that, suggesting that the language will continue to gain more fans. ®
How to get more from MicroStrategy by optimizing your data stack