Los desarrolladores de la distribución openSUSE dieron a conocer hace pocos días mediante un anuncio el inicio del soporte inicial para paquetes relacionados con el lenguaje de programación Nim, siendo de esta forma openSUSE se une al proyecto de código abierto Arch Linux para tener paquetes actualizados para el lenguaje Nim.
El soporte principal significa la generación periódica y rápida de actualizaciones correspondientes a las versiones actuales de Nim. El lenguaje de programación compilado brinda a los programadores eficiencia en el tiempo de ejecución y combina conceptos exitosos de lenguajes maduros como Python, Ada y Modula.
“El software real se ejecuta sin un sistema operativo, pero si el suyo necesita uno, elija uno que ofrezca compatibilidad con Nim de primera clase. Como lo hace SUSE”. , dijo el creador del lenguaje de programación Nim, Andreas Rumpf, cuando se le preguntó acerca de la compatibilidad de openSUSE con Nim actualizado a partir de ahora.
Para quienes desconocen de este lenguaje de programación, les puedo decir que Rumpf creó Nim en 2005 y uno de los puntos fuertes de Nim, además del sistema de macros y la eficiencia del tiempo de ejecución, es su biblioteca estándar, que es similar a otros lenguajes y cubre la mayoría de las funciones estándar; estos incluyen manejo y formato de cadenas, desarrollo de código asíncrono, redes e incluso funcionalidad de lenguaje de alto nivel (como el propio compilador) o NimScript, que es un subconjunto de Nim especialmente diseñado para secuencias de comandos que se pueden incrustar y ejecutar en tiempo de ejecución.
El lenguaje Nim está enfocado a resolver problemas de programación de sistemas, usa tipado estático y fue creado con la vista puesta en Pascal, C++, Python y Lisp.
El código fuente de Nim se compila en una representación C, C++, Objective-C o JavaScript. Posteriormente, el código C/C++ resultante se compila en un archivo ejecutable utilizando cualquier compilador disponible (clang, gcc, icc, Visual C++), lo que permite lograr un rendimiento cercano a C, esto claro, si dejamos de lado los recursos utilizados por el recolector de basura.
“Estoy muy emocionado de tener la primera distribución de Linux que anuncia soporte de primera clase para Nim”, dijo Dominik Picheta , desarrollador principal de Nim y autor del libro Nim in Action . “Espero que esto abra la puerta para que otras distribuciones hagan lo mismo”.
Similar a Python, Nim usa sangría como separadores de bloques, ademas de que admite herramientas de metaprogramación y capacidades para crear lenguajes específicos de dominio (DSL).
Además, Nim viene con una amplia gama de herramientas incluidas de forma predeterminada. El compilador permite la orientación de C, C++ y Javascript como backend. Hay algunas herramientas incluidas para facilitar el desarrollo:
- nim compiler
- nimsuggest (soporte para sugerencias de idiomas, autocompletado, detección de errores/problemas, etc.)
- nimgrep (una poderosa alternativa de grep con soporte integrado de Nim para encontrar símbolos e inspeccionar las bases de código de Nim).
- nim-gdb wrapper (soporte gdb para tipos Nim)
- nimble (gestor de paquetes)
Actualmente hay paquetes de Nim creados para x86-64, i586, ppc64le y ARM64 con openSUSE, ademas hay pruebas automatizadas para compilaciones de openSUSE. Por lo general, la disponibilidad de Nim con openSUSE implica la transmisión ascendente de pruebas rotas para arquitecturas específicas junto con el respaldo y la transmisión ascendente de parches de seguridad.
Nim tiene un ecosistema de paquetes muy interesante y vibrante para un fácil desarrollo en muchos frentes; desde desarrollo web hasta programación de sistemas y ciencia hasta procesamiento de datos, por nombrar algunos. Es posible desarrollar aplicaciones paralelas y extremadamente rápidas con Weave , desarrollar aplicaciones web de front-end y back-end completamente en Nim con Karax o Jester y realizar operaciones matemáticas computacionales pesadas con ArrayMancer.
Finalmente cabe mencionar que los paquetes se generarán para las arquitecturas x86-64, i586, ppc64le y ARM64 y se probarán con los sistemas de prueba automatizados de openSUSE antes de su publicación.
Si quieres conocer más al respecto sobre la nota, puedes consultar los detalles en la publicación original en el siguiente enlace.