Nim

Nim

Compiled systems language

Description

You want a syntax as comfortable as Python and a build that comes out as one small native executable like C — normally you get one or the other.

Nim goes after both: the syntax looks like Python — indentation blocks, type inference, light to write — and the output is a native program with no virtual machine, small enough to hand to anyone and run. Memory management is deterministic, with destructors and move semantics inspired by C++ and Rust, which makes it usable for embedded and hard-realtime work.

The compiler and its output support Windows, Linux, BSD and macOS. The installer is 27 MB and includes the nimble package manager.

Features



Native executables: small, dependency-free binaries that redistribute as they are.

Deterministic memory management: destructors and move semantics, no GC pauses, embedded-friendly.

Zero-overhead abstraction: iterators, compile-time evaluation, generics and templates without a performance tax.

Macro system: manipulate the AST at compile time and extend the language itself.

Multiple backends: compile to C, C++, Objective-C or JavaScript for front and back ends alike.

nimble: a bundled package manager with a large library ecosystem.