Yesterday, the team at Nim announced Nim version 1.0, a general-purpose, compiled programming language that focuses on efficiency, readability and flexibility.
Major changes in Nim 1.0
Backwards compatibility
- The switch -d:nimBinaryStdFiles has been removed in this release and stdin/stdout/stderr are now the binary files again.
- In this release, the language definition and compiler are now stricter about gensym'ed symbols in hygienic templates.
Changes made to library
- The team has removed unicode.Rune16 in this release as the name ‘Rune16 ’ was wrong.
- In Nim 1.0, encodings.getCurrentEncoding distinguishes between the OS's encoding and console's encoding.
- In this release, json.parseJsonFragments iterator can speedup JSON processing.
Unlock access to the largest independent learning library in Tech for FREE!
Get unlimited access to 7500+ expert-authored eBooks and video courses covering every tech area you can think of.
Renews at R$50/month. Cancel anytime
- Oid usage has been enabled in hashtables.
- std/monotimes module has been added that implements monotonic timestamps.
Compiler
- In Nim 1.0, the Nim compiler warns about unused module imports. Users can use a top-level {.used.} pragma in the module that can be importable without giving a warning.
- In this version, the Nim compiler nomore recompiles the Nim project via nim c -r if case no dependent Nim file is changed.
Users seem to be excited about this news and are appreciating the efforts taken by the team. A user commented on HackerNews, “Great! I love this language, so simple and powerful, so fast executables!”
Another user commented, “I would have never thought to live long enough to see this happening! I started using Nim in 2014, but abandoned it after a few years, frustrated by the instability of the language and what I perceived as a lack of vision. (In 2014, release 1.0 was said to be "behind the corner".) This release makes me eager to try it again. I remember that the language impressed me a lot: easy to learn, well-thought, and very fast to compile. Congratulations to the team!”
Other interesting news in programming
How Quarkus brings Java into the modern world of enterprise tech
LLVM 9 releases with official RISC-V target support, asm goto, Clang 9, and more
Twitter announces to test ‘Hide Replies’ feature in the US and Japan, after testing it in Canada