Nim (anteriormente conhecida como Nimrod) é uma linguagem de programação compilada de alto nível, estaticamente tipada, de propósito geral,[4] que é desenvolvida por Andreas Rumpf e foi lançada em 2008.
O desenvolvimento iniciou em 2004, escrito em Object Pascal (usando o Free Pascal) e Python. Entretanto, a primeira versão capaz de compilar a si mesma foi lançada em 22 de agosto 2008 (versão 0.6.0). O compilador gera código C portável e o designa para um compilador externo (suporta MinGW/GCC e vários outros compiladores) para compilá-lo para código de máquina otimizado.
Nim usa indentação como delimitadores de bloco, como Python, e permite usar chaves ({}) como delimitadores, como C. Em identificadores (nomes de variáveis e funções), letras maiúsculas e minúsculas são tratadas como iguais, e underscores (_) são ignorados totalmente.
echo "Olá, Mundo!"
Pode ser compilado e executado com o seguinte comando:[5]
$ nim c -r hello.nim
import math, strformat, strutils, sugar func f(t: float): float = t.abs.sqrt + 5 * t.pow(3) let a = collect(newSeq): for t in 0..10: try: stdin.readLine.parseFloat except EOFError: 0.0 for i in countdown(high(a), low(a)): let y = f(a[i]) echo if y > 400: fmt"{i} TOO LARGE" else: fmt"{i} {y}"