Andreas Rumpf created Nim and first released it in 2008.
Nim began as a systems-programming language project called Nimrod. Rumpf designed it to combine expressive, high-level syntax with efficient native code generation and control over low-level resources.
Nim is statically typed and supports multiple programming styles, including procedural, object-oriented, functional, and metaprogramming techniques. Its compiler can generate C, C++, JavaScript, or Objective-C code, allowing Nim programs to reach several target environments.
Nim is sometimes confused with D because both aim to offer modern features for systems programming while remaining compiled languages. Nim's distinctive features include significant whitespace, powerful compile-time evaluation, and hygienic macros. The language was renamed from Nimrod to Nim in 2014.