← All languages

Nim

Pascal / Python-inspired · 2008Actively developed

Native compilation and compile-time metaprogramming with indentation-based syntax.

Procedural · Functional

Homepage
https://nim-lang.org/
Reference / standard
https://nim-lang.org/docs/manual.html
Community forum
https://forum.nim-lang.org/
Wikipedia (English)
https://en.wikipedia.org/wiki/Nim_(programming_language)

Tracked release

Version
2.2.12
Artifact
Compiler / toolchain
Published
2026-09-08
Source checked
2026-10-22
https://nim-lang.org/blog/2026/09/08/nim-2212.html

Use & ecosystem

Suited for
Systems programming, Web backends, CLI tools / automation
Family / tradition
Dynamic scripting, Pascal / Algol
Maturity
Maturing
Ecosystem breadth
Focused

A post-1.0 compiler and useful libraries exist, but sustained adoption and integration coverage do not justify Established or Broad here.

Industry & practical use

Nim suits native utilities, servers and performance-sensitive extensions. These are practical niches rather than evidence of industry-wide adoption.

Compilers, libraries & tooling

The main compiler emits C, C++ or JavaScript. Nimble manages packages; templates and AST macros support substantial compile-time code generation.

Platforms & deployment

General toolchains
Linux, Windows, macOS
Specialized tooling
Browser
Browser execution
JavaScript
Native cross-compilation
Restricted / involved

Native desktop/server builds are conventional. The JavaScript backend supplies a browser route with different library compatibility.

Cross-builds normally require a matching C/C++ cross-compiler, target libraries and backend-specific configuration.

Project health & support

The project maintains compiler releases and a detailed manual. Library maintenance and target support need checking individually in this comparatively small ecosystem.

Use, ecosystem & platform assessment reviewed 2026-10-22 · Sources below

History & origin

Andreas Rumpf began Nim in 2005; its first public release followed in 2008. Originally called Nimrod, it combines ideas from Pascal-family languages, Python and other systems languages.

Creators
Andreas Rumpf
Origin
2008 — First public release, originally named Nimrod.

Influences & descendants

Influenced by

  • Not yet documented in this catalogue.

Influenced in this catalogue

  • No linked entries yet.

Language features

Typing
Static
Execution
AOT, Transpiled
Block structure
Significant indentation
Semicolons
Optional
Lexical closures
Yes
Namespaced modules
Yes
Pattern matching
Partial
Macro system
Syntactic macros

Implementation notes

  • Memory-management modes differ; ARC/ORC is not the same model as a tracing-GC runtime. Macro libraries provide additional matching facilities.

Sources & references

Project overview
https://nim-lang.org/
Language / implementation reference
https://nim-lang.org/docs/manual.html

Use, ecosystem & platform sources

Project overview
https://nim-lang.org/
Language / implementation reference
https://nim-lang.org/docs/manual.html

See the classification definitions for implementation-dependent features. Influence links cover the entries documented here.