Paul Krill
Editor at Large

Nim language reaches 1.0 status

news
Sep 24, 20192 mins

Compiled, statically-typed systems programming language prizes efficiency, readability, and flexibility

start-finish road signs / stages / order / direction / navigation / sequencing
Credit: Gerd Altmann

Nim, a statically-typed systems programming language that draws on concepts from languages like Python, Pascal, and Ada, has reached a 1.0 release status. Generating native dependency-free executables, Nim can compile to JavaScript, C, or C++, enabling the language to be used for back-ends and front-ends.

The Nim 1.0 release marks the beginning of a stable base to build on in upcoming years, with future versions to maintain backward compatibility with code written in the current version. Nim 1.0 includes a number of improvements:

  • A bug enabling int to be implicitly converted to range types of smaller sizes has been fixed.
  • Inline iterators returning lent T types are now supported.
  • uint64 is now a regular ordinal type. Thus high(uint64) compiles and yields the correct value.
  • encodings.getCurrentEncoding now distinguishes between the console’s encoding and the OS encoding. This change impacts Windows only.
  • json.parseJsonFragments iterator has been added that can speed up JSON processing when there are JSON fragments separated by whitespace.
  • The Nim compiler no longer recompiles the Nim project via nim c -r if no dependent Nim file has changed.
  • The compiler warns about unused module imports.
  • unicode.Rune16 has been removed without any deprecation period. The name was found to be wrong and no uses of it were found in the wild.

Nim is a compiled, garbage-collected systems programming language that borrows multiple constructs from Python and Pascal-inspired type sections. It also has multi-line lambdas.

Where to download Nim

You can download Nim installers for Windows and Unix systems from the project website.

Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

More from this author