Imagine Python fan fiction written in C, read with a Lisp: Code lingo Nim gets cash injection

Development of new language funded to boost Ethereum client

Status.im, the makers of the Status mobile Ethereum client app, has allied with the team developing the Nim programming language, promising funding to support at least two full-time developers.

The arrangement follows the launch last week of a research project called Nimbus to develop a Nim-based sharding client for Ethereum, said to be the second most valuable cryptocurrency after Bitcoin.

Ethereum, like Bitcoin, relies on a distributed database – these days called a blockchain – where each node stores all transactions. While advantageous for security, this particular architecture limits scalability. Sharding breaks the database into pieces so that only a subset of the nodes will be involved in transaction verification, thereby allowing the blockchain to handle more transactions at any given time.

Status.im favors Nim, the company says, because it combines the speed of C, the readability of Python, and the extensibility of Lisp. Nim code compiles into C, C++, and JavaScript.

Will it blend?

"Status has a unique blend of hardware and licensing restrictions, together with a desire for rapid development and good performance," said Jacek Sieka, head of research development at Status.im, in an email to The Register. "Nim provides a lightweight and efficient language for said devices."

Sieka explained that a goal for Nimbus is to ensure GPLv3 and LGPLv2 compatibility, to maximize the reach of Ethereum and enable adoption by governments and enterprises.

"With existing popular implementations being licensed under the GPL, we faced having to make clean room implementations of many of the core Ethereum libraries, given licensing compatibility restrictions on the hardware platforms we intend to use (including Apple)," he said. "This opened up the possibility of using a new language, with Nim being a top contender due to its native C backend giving us good technical reach in terms of platform support."

We are the knights who say, Nim!

Nim, while still a niche language, has some enthusiastic supporters, particularly in the gaming industry where the ability to compile to C/C++ (not to mention JavaScript) is valued. The game Reel Valley was written in Nim, and there are Nim bindings for related libraries, tools, and engines such as Simple DirectMedia Layer (SDL) v2, Godot, Unreal Engine, Urho3D, Atomic, and GLFW.

The language was introduced a decade ago by Andreas Rumpf, who bears the title Nim BDFL – Benevolent Dictator For Life – an open-source honorific Python creator Guido van Rossum also held until he abdicated last month.

Until now, Nim has been supported through community-driven development and donations. With resources from Status.im, the project will get full-time attention, in the hope that it can advance more rapidly toward the planned 1.0 release.

"Unfortunately the donations are not currently enough for any of us to commit to working on Nim full-time," the Nim team said in a blog post on Tuesday. "With Status' help this is no longer the case. We will now be able to stay focused on the development of the Nim programming language."

The hired guns will hunt bugs and improve Nim's compiler, standard library, and tooling.

There's no release date for version 1.0 yet. About two-thirds of the outstanding issues listed still need to be resolved before that happens. Those interested in advancing Nim can always lend a hand via GitHub. ®




Biting the hand that feeds IT © 1998–2018