Nim (programming language)

Nim
The Nim crown logo
ParadigmsMulti-paradigm: compiled, concurrent, procedural, imperative, functional, object-oriented, meta
Designed byAndreas Rumpf
DeveloperNim Lang Team
First appeared2008 (2008)
Stable release
2.2.8  / 23 February 2026 (23 February 2026)
Typing disciplineStatic, strong, inferred, structural
ScopeLexical
Implementation languagePascal (2005–2008)
Nim (2008–present, self-hosted)
PlatformIA-32, x86-64, ARM, Aarch64, RISC-V, PowerPC ...
OSCross-platform
LicenseMIT License 
Filename extensions.nim, .nims, .nimble
Websitenim-lang.org
Influenced by
Ada, Modula-3, Lisp, C++, Object Pascal, Python, Oberon, Rust, ParaSail

Nim is a general-purpose, multi-paradigm, statically typed, compiled, high-level system programming language. It was designed and developed by a team led by Andreas Rumpf. Nim aims to be "efficient, expressive, and elegant", and supports metaprogramming, functional, message passing, procedural, and object-oriented programming paradigms. Nim includes features such as compile-time code generation, algebraic data types, and a foreign function interface (FFI) for interfacing with C, C++, Objective-C, and JavaScript. It also supports compilation to these same languages as intermediate representations.