Computing Atlas

How Computing Was Built
Sign In
Text size
100%
Theme
Programming Language

Nim

Systems Language

Nim is a general-purpose, multi-paradigm, statically typed, compiled system programming language, designed and developed by a team led by Andreas Rumpf. It first appeared in 2008 and aims, in its own stated goal, to be efficient, expressive and elegant, supporting metaprogramming alongside functional, procedural and object-oriented styles. Nim typing discipline is static, strong, inferred and structural, and the language can compile to C, C++, JavaScript, Objective-C and LLVM, with compile-time code generation and foreign function interfaces to C, C++, Objective-C and JavaScript. It aims to combine, in its own description, the best parts of the Ada typing system, Python flexibility and a powerful Lisp-style macro system, making it suited to systems programming with expressive, high-level syntax. This description is adapted from Wikipedia contributors under CC BY-SA 4.0; changes were made. https://creativecommons.org/licenses/by-sa/4.0/

Facts
Classification
Typing Discipline
Statically Typed 1
Typing Discipline
Strongly Typed 1
License
MIT 1
First Released
2008 1
Significance
A most original design that straddles Pascal and Python and compiles to C code or JavaScript 2
Connections

Influenced By

Ada, Programming Languages

Same Nim "Influence" section: Ada contributed subrange types, distinct type, safe variants. en.wikipedia.org/wiki/Nim_(programming_language)

Source Wikidata: Nim
Source Wikidata: Nim
Oberon, Programming Languages

Nim "Influence" section: Oberon contributed the export marker. en.wikipedia.org/wiki/Nim_(programming_language)

Object Pascal, Programming Languages

Nim "Influence" section: Object Pascal contributed type safe bit sets and case statement syntax. en.wikipedia.org/wiki/Nim_(programming_language)

Python, Programming Languages

"Nim was conceived to combine the best parts of Ada typing system, Python flexibility, and powerful Lisp macro system" (Python contributed the off-side indentation rule). en.wikipedia.org/wiki/Nim_(programming_language)

Sources
1. Wikidata: Nim
  • Wikidata Q20080327, class allow-list match (w-wdresolver-0926)
  • Wikidata Q20080327 P571 (inception)
  • Wikidata Q20080327 P275 (license)
  • Wikidata Q20080327 P7078 (typing discipline)
  • Wikidata Q20080327, resolved via en.wikipedia pageprops (wave rule R-L)
  • Influenced By: Modula-3
  • Influenced By: C++
View the Source
2. Nim (programming language)
  • Infobox, first appeared
    2008
  • Reception
    a most original design that straddles Pascal and Python and compiles to C code or JavaScript.
View the Source
Comments (0)
No comments yet. Be the first to share a thought.
Reader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.