This article is missing information about Nim's history, language design, tools, and paradigms. (June 2019) |
This article may be too technical for most readers to understand.(January 2024) |
Paradigms | Multi-paradigm: compiled, concurrent, procedural, imperative, functional, object-oriented, meta |
---|---|
Designed by | Andreas Rumpf |
Developer | Nim Lang Team[1] |
First appeared | 2008 |
Stable release | 2.2.0[2]
/ 2 October 2024 |
Typing discipline | Static,[3] strong,[4] inferred, structural |
Scope | Lexical |
Implementation language | Pascal (2005–2008) Nim (2008–present, self-hosted) |
Platform | IA-32, x86-64, ARM, Aarch64, RISC-V, PowerPC ...[5] |
OS | Cross-platform[6] |
License | MIT License[7] |
Filename extensions | .nim, .nims, .nimble |
Website | nim-lang |
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.
{{cite web}}
: Missing or empty |title=
(help)