Nim (programming language)

Nim
The Nim crown logo
ParadigmsMulti-paradigm: compiled, concurrent, procedural, imperative, functional, object-oriented, meta
Designed byAndreas Rumpf
DeveloperNim Lang Team[1]
First appeared2008; 16 years ago (2008)
Stable release
2.2.0[2] Edit this on Wikidata / 2 October 2024; 50 days ago (2 October 2024)
Typing disciplineStatic,[3] strong,[4] inferred, structural
ScopeLexical
Implementation languagePascal (2005–2008)
Nim (2008–present, self-hosted)
PlatformIA-32, x86-64, ARM, Aarch64, RISC-V, PowerPC ...[5]
OSCross-platform[6]
LicenseMIT License[7] Edit this on Wikidata
Filename extensions.nim, .nims, .nimble
Websitenim-lang.org
Influenced by
Ada, Modula-3, Lisp, C++, Object Pascal, Python, Oberon, Rust, ParaSail[8]

Nim is a general-purpose, multi-paradigm, statically typed, compiled high-level system programming language,[9] designed and developed by a team around Andreas Rumpf. Nim is designed to be "efficient, expressive, and elegant",[10] supporting metaprogramming, functional, message passing,[11] procedural, and object-oriented programming styles by providing several features such as compile time code generation, algebraic data types, a foreign function interface (FFI) with C, C++, Objective-C, and JavaScript, and supporting compiling to those same languages as intermediate representations.

  1. ^ "Contributors to nim-lang/Nim". GitHub. Retrieved 2022-03-23.
  2. ^ https://github.com/nim-lang/Nim/releases/tag/v2.2.0. {{cite web}}: Missing or empty |title= (help)
  3. ^ "Nim by example". GitHub. Retrieved 2014-07-20.
  4. ^ Караджов, Захари; Станимиров, Борислав (2014). Метапрограмиране с Nimrod. VarnaConf (in Bulgarian). Retrieved 2014-07-27.
  5. ^ "Packaging Nim". Retrieved 2022-03-23.
  6. ^ "Install Nim". Retrieved 2018-10-12.
  7. ^ "copying.txt". GitHub.
  8. ^ Rumpf, Andreas (2017-10-19). "Nim without GC". Araq's Musings. Retrieved 2020-09-01.
  9. ^ Rumpf, Andreas (2014-02-11). "Nimrod: A new systems programming language". Dr. Dobb's Journal. Retrieved 2014-07-20.
  10. ^ "The Nim Programming Language". Nim-lang.org. Retrieved 2014-07-20.
  11. ^ "FAQ". nim-lang.org. Retrieved 2015-03-27.