En este momento estás viendo Nim: Un lenguaje de programación inspirado en Delphi y Python
Nim: Un lenguaje de programación inspirado en Delphi y Python

Nim es un lenguaje de programación multiplataforma de código abierto compilado estáticamente inspirado en Pascal y Python con un toque de metaprogramación similar a Haxe.

Nim es un lenguaje de programación de código abierto, al que puedes acceder desde su repositorio de código fuente alojado en GitHub.

👉 LENGUAJE DE PROGRAMACIÓN NIM

Características de Nim

Desde la página de inicio de Nim, Nim se describe al propio lenguaje como:

Eficiente

  • Nim genera ejecutables nativos libres de dependencias que no dependen de una máquina virtual, que son pequeños y permiten una fácil redistribución.
  • El compilador de Nim y los ejecutables generados son compatibles con todas las plataformas principales como Windows, Linux, BSD y macOS.
  • La gestión de memoria de Nim es determinista y personalizable con destructores y semántica de movimientos, inspirada en C ++ y Rust. Es ideal para sistemas integrados en tiempo real.
  • Conceptos modernos como iteradores de cero sobrecarga y evaluación en tiempo de compilación de funciones definidas por el usuario, en combinación con la preferencia de tipos de datos basados en valores asignados en la pila, conducen a un código extremadamente eficiente.
  • Soporte para varios backends: Se puede compilar en C, C++ o JavaScript para que Nim y por ello, puede ser utilizado para todas las necesidades del backend y frontend.

Expresivo

  • Nim es autónomo: El compilador y la biblioteca estándar se implementan en Nim.
  • Nim tiene un potente sistema macro que permite la manipulación directa del AST, ofreciendo oportunidades casi ilimitadas.

Elegante

  • Las macros no pueden cambiar la sintaxis de Nim porque no es necesario, la sintaxis es lo suficientemente flexible.
  • Sistema de tipos moderno con inferencia de tipos locales, tuplas, genéricos y tipos de suma.
  • Las declaraciones se agrupan por sangría, pero pueden abarcar varias líneas.

¿Por qué utilizar Nim?

Nim es uno de los pocos lenguajes programables de tipado estático y combina la velocidad y la eficiencia de la memoria de C, sintaxis expresiva, seguridad de la memoria y múltiples lenguajes de destino.

Administrador de paquetes de Nim

Gracias al administrador de paquetes Nimble de Nim y a los generadores de enlaces como c2nim, existen enlaces a muchas de las bibliotecas de desarrollo de juegos más populares, incluidas SFML, RayLib, SDL y Allegro, así como a frameworks como OpenGL.

Godot y Nim

Además, si eres un desarrollador de Godot Engine, hay una extensión que te permite escribir juegos de Godot usando el lenguaje de Nim. Denominado Godot-Nim.

Alrededor del Godot y Nim, también está el proyecto Enu, un entorno 3D en tiempo real increíblemente interesante donde puedes crear mundos de forma interactiva utilizando Nim como lenguaje de programación.

Compatibilidad de Nim

En términos de compatibilidad con herramientas, Nim tiene extensiones disponibles tanto para Visual Studio Code como para los IDE de JetBrains.

Editores de texto para Nim

  • Visual Studio Code:
    • Extension written in Nim https://marketplace.visualstudio.com/items?itemName=nimsaem.nimvscode
    • Original Extension written in TypeScript https://marketplace.visualstudio.com/items?itemName=kosz78.nim
  • VSCodium/OpenVSX: https://open-vsx.org/extension/nimsaem/nimvscode
  • Emacs: https://github.com/nim-lang/nim-mode
  • Vim: https://github.com/zah/nimrod.vim/
  • NeoVim: https://github.com/alaviss/nim.nvim
  • QtCreator (4.1+): Included as experimental plugin.
  • Scite: Included
  • Gedit: The Aporia .lang file.
  • Geany: Included
  • jEdit: https://github.com/exhu/nimrod-misc/tree/master/jedit
  • TextMate: https://github.com/textmate/nim.tmbundle
  • Sublime Text: https://github.com/Varriount/NimLime
  • LiClipse: http://www.liclipse.com/ (Eclipse based plugin)
  • Howl: Included
  • Notepad++: https://github.com/jangko/nppnim/releases
  • Micro: Included
  • Atom: https://atom.io/packages/nim
  • JetBrains IDEs: https://plugins.jetbrains.com/plugin/15128-nim
  • Kakoune: Included
  • Para editores con LSP (Language Server Protocol) support (requires a separate syntax/indenting plugin): https://github.com/PMunch/nimlsp