Tres lenguajes poco conocidos para aprender a programar en el 2020
Si extrañas los tiempos en que usar Linux te daba patente de raro, o te aburriste de los lenguajes de programación tradicionales, aquí tenemos una lista de tres lenguajes de programación no tan conocidos que puedes agregar a tu lista de desafíos para el 2020.
Estos lenguajes de programación fueron creados para resolver los problemas de los lenguajes de programación tradicionales (e introducir algunos problemas nuevos) y en muchos casos todavía están en desarrollo, por lo que no hay una documentación completa o una comunidad a la cuál acudir en caso de problemas.
Tres lenguajes poco conocidos que puedes probar en el 2020
Red
Los desarrolladores lo describen como un lenguaje de nueva generación. Está inspirado en Rebol y estas son algunas de sus características:
- Sintaxis amigable para el ser humano.
- Homoicónico: (Red tiene su propio meta-lenguaje y su propio formato de datos)
- Programación funcional, imperativa, reactiva y simbólica
- Soporte de objetos basado en prototipos
- Sistema de macros
- Amplio conjunto de tipos de datos incorporados (50+)
- Un único archivo (~1MB) contiene toda la cadena de herramientas, la biblioteca estándar completa y REPL.
- Produce ejecutables de menos de 1MB, sin dependencias.
- Mediante un plugin pude usarse Visual Studio Code como entorno integrado de desarrollo.
- Soporte para la creación de interfaces gráficas multiplataforma.
- El lenguaje no requiere instalación. Solo hay que descargarlo, darle permisos de ejecución y ejecutarlo desde la terminal.
Nim
Sus desarrolladores definen a este lenguaje de programación como eficiente, expresivo y elegante. Incorpora características de lenguajes más tradicionales como Python, Ada y Modula.
Algunas de sus características:
- Nim genera ejecutables nativos libres de dependencias, no requieren de una máquina virtual para ejecutarse, son pequeños y permiten una fácil redistribución.
- El compilador de Nim y los ejecutables generados soportan todas las plataformas principales como Windows, Linux, BSD y macOS.
- Rápida gestión de memoria de conteo de referencia con soporte a sistemas en tiempo real.
- Eficiencia en el código gracias a la implementación de conceptos modernos como los iteradores de cero sobrecarga y la evaluación del tiempo de compilación de las funciones definidas por el usuario, en combinación con la preferencia de los tipos de datos basados en valores asignados en la pila,
- Soporte para varios backends: compila a C, C++ o JavaScript.
- Autocontenido: el compilador y la librería estándar están implementados en Nim.
- Poderoso sistema de macros.
- Las macros no necesitan cambiar la sintaxis de Nim porque no hay necesidad de ello, la sintaxis es lo suficientemente flexible.
- Sistema de tipos moderno con inferencia de tipos locales, tuplas, genéricos y tipos de suma.
- Las sentencias se agrupan por indentación pero pueden abarcar múltiples líneas.
Nim está disponible para Windows, Linux y Mac. En el caso de Linux, puede utilizar gcc como compilador.
V
No sé si eso de bautizar a los lenguajes de programación con letras es una moda o falta de originalidad.
En el caso de V se define como un lenguaje simple para la creación de programas de fácil mantenimiento. Si eres impaciente, este lenguaje es lo que necesitas ya que los desarrolladores prometen que leer la documentación no te llevará más de media hora. Aseguran que luego que lo hagas, podrás hacer con V lo mismo que haces con los lenguajes de programación tradicionales.
Estas son algunas de sus características:
- Más rápido que C.
- Interoperable con C sin demoras.
- Compila a binarios nativos sin ninguna dependencia y sin importar el sistema operativo.
- El lenguaje y sus librerías estándar no ocupan más de 2 mb.
- La única dependencia requerida es un compilador C.
- Posibilidad de probar los cambios sin recompilar.
- Potentes librerías gráficas basadas en GDI+/Cocoa Drawing, y OpenGL para aplicaciones 2D/3D. Previsto el soporte para DirectX, Vulkan y Metal.
- Librería nativa de interfaz gráfica multiplataforma para la construcción de aplicaciones con controles nativos. Soporte para WinAPI/GDI+ en Windows, Cocoa en MacOS. En Linux se utiliza el dibujo personalizado
Los desarrolladores se proponen agregar:
- Un editor visual tipo Delphi para construir aplicaciones con interfaz gráfica de usuario nativa
- Compatibilidad con iOS/Android con controles nativos
- Una API declarativa similar a SwiftUI y React Native.
V está disponible para Windows, macOS, Linux, FreeBSD, OpenBSD, NetBSD, DragonflyBSD y Solaris. Cómo editores pueden usarse Visual Studio Code y Vim.