X
Business

Python-inspired Nim: Version 1.0 of the programming language launches

Programming language Nim 1.0 promises developers a stable base for code that future versions won't break.
Written by Liam Tung, Contributing Writer

The developers of the Nim programming language have released version 1.0, promising programmers a "stable base" for their code that won't be broken by future versions of Nim. 

Nim is a statically typed program language that draws on concepts from languages like Modula-3, Delphi, Ada, C++, Python, Lisp, and Oberon. 

However since it's a compiled programming language with a static type system, it's also been compared to Rust, C++, and Go

SEE: Six in-demand programming languages: Getting started (free PDF)

The Nim compiler can generate executables for distribution on Windows, Linux, BSD and macOS systems. It also compiles to C, C++ and JavaScript.  

Nim features broad editor support that includes native Nim editor Aporia, Visual Studio Code, Emacs, and Vim.  

As previously announced, Nim 1.0 is intended to be the long-term supported stable release that only gets bug fixes and new features in future on the condition they don't break backwards compatibility. However, that guarantee doesn't extend to fixing serious security vulnerabilities, which may break code. 

Nim emerged in 2008 from German programmer Andreas Rumpf, who uses the name Araq on IRC and GitHub

As he explains in a blogpost, the initial goal for Nim was as a "simple small language" that compiles to C and should be no more than 20,000 lines of code. It would rely on a macro system to fill in feature gaps in the small core. 

Today the compiler and standard library use around 140,000 lines of code. 

"While the language is not nearly as small as I would like it to be, it turned out that meta programming cannot replace all the building blocks that a modern language needs to have," noted Rumpf. 

With version 1.0 out, Rumpf's next focus for Nim will be to improve developer tooling, such as Nimsuggest, a code-completion engine for several code editors, the Nimble package manager, and the Nimpretty source-code formatting tool. 

"I regard 'incremental recompilation' (IC) the next big milestone for the Nim compiler. IC will further speed up Nim's already fast compile times and cache the results of macro expansions and other constructs," he noted. 

SEE: As Google enters AI coding autocomplete race, Kite for Python language gets smarter

According to Nim developers, as of August there were more 1,000 packages available for Nim and the group hopes to attract more in future.   

There's been some interest in the release of Nim 1.0 on Hacker News, where a Nim contributor has offered a break-down of its origins, classification, and uses.     

While Nim can be used to write a kernel, it can also run on micro-controllers and other embedded systems. And since it compiles down to JavaScript, it can also be used for websites or to create games and applications.

More on programming languages

  • Google: Take our free Kotlin programming language courses to build Android apps
  • Microsoft: We want you to learn Python programming language for free
  • Oracle: Programming language Java 13 is out, it'll make you more productive
  • Google: Dart 2.5 programming language SDK will 'supercharge' developers
  • Raspberry Pi gets MIT's Scratch 3 programming language for Raspbian
  • Julia programming language: Users reveal what they love and hate the most about it
  • Programming language Python's 'existential threat' is app distribution: Is this the answer?
  • Is Julia fastest-growing new programming language? Stats chart rapid rise in 2018
  • Python vs R for data science: Professor rates programming language rivals
  • Programming languages: Python predicted to overtake C and Java in next 4 years 
  • Python developer, data scientist or DevOps: Which tech jobs pay best? 
  • Netflix: Python programming language is behind every film you stream
  • Could TypeScript replace JavaScript? Use of programming language spin-off soars
  • Is Julia the next big programming language? MIT thinks so, as version 1.0 lands TechRepublic
  • Mozilla's radical open-source move helped rewrite rules of tech CNET
  • Editorial standards