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
Artículos Relacionados
La Historia de los Lenguajes de Programación Informáticos

Un lenguaje de programación de computadoras, es un conjunto de instrucciones detalladas para una computadora digital que en su conjunto forman uno de los cualquier lenguajes de programación existentes. Aunque existen muchos lenguajes informáticos, relativamente pocos son de uso general. Los lenguajes de máquina ¡SEGUIR LEYENDO!

¿Cómo APRENDER PROGRAMACIÓN desde Principiante hasta Experto?

Guía completa con la que afrontar el inicio e inclusión al mundillo de la programación y el desarrollo web más actual. La estructura de la guía se basa en diferentes apartados que se han ido considerando importantes con el paso del tiempo. Se ha ¡SEGUIR LEYENDO!

Una Nube Construida para la Próxima Década, por el CEO de Microsoft: Satya Nadella

Microsoft se encuentra sumido en el importante evento, Microsoft Ignite. Sin lugar a dudas, uno de los eventos de videoconferencias más importante de todo el año. En dicho evento, el CEO de Microsoft Satya Nadella, ofreció una importante conferencia de casi una hora (que ¡SEGUIR LEYENDO!