Nim
Pascal / Python-inspired · 2008Actively developedNative compilation and compile-time metaprogramming with indentation-based syntax.
Procedural · Functional
Links
- 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
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.