Crystal, un nuevo lenguaje de programación de sistemas compilados y orientado a objetos que tiene como objetivo combinar la concisión y amabilidad de Ruby con la eficiencia de C.
La versión 1.0 de Crystal tiene una sintaxis cercana a la de Ruby y presenta tipos inferidos estáticamente, enlaces C y macros.
El lenguaje de Crystal podría atraer a los desarrolladores con experiencia en Ruby/Rails o Elixir/Phoenix.
? LENGUAJE DE PROGRAMACIÓN CRYSTAL
¿Por qué Crystal?
El equipo de Crystal explicó el fundamento del nuevo lenguaje de la siguiente manera:
“Nos encanta la eficiencia de Ruby para escribir código y nos encanta la eficiencia de C para ejecutar código. Queremos conjuntar lo mejor de ambos mundos”.
“Queremos que el compilador comprenda lo que queremos decir sin tener que especificar tipos en todas partes. Queremos una experiencia POO completa”.
Si bien la compatibilidad total con Ruby no se declara como un objetivo, Crystal tiene una sintaxis muy similar a la de Ruby.
La función de Fibonnaci se puede escribir en Crystal de la siguiente manera:
def fib(n : UInt64)
return 1_u64 if n <= 1
fib(n - 1) + fib(n - 2)
end
puts fib(46)
Características de Crystal
El lenguaje de Crystal compila su código nativo usando LLVM. Todo en Crystal es un objeto, es decir, una entidad que tiene un tipo y que responde a unos métodos.
Solo se puede acceder a las partes de estado encapsuladas en objetos invocando métodos.
Con un sistema de tipos que permite verificaciones de referencias nulas, sobrecarga de métodos (y operadores), tipos de unión, genéricos, enumeraciones, alias, símbolos, tuplas y más.
El compilador usa la inferencia de tipos para minimizar la necesidad de que los desarrolladores escriban tipos explícitamente.
Sin embargo, los desarrolladores pueden tener que ayudar al compilador con anotaciones de tipo en algunas ocurrencias.
Los tipos explícitos, además, pueden ser útiles como documentación y pueden acelerar significativamente los tiempos de compilación.
Crystal permite a los desarrolladores reutilizar el gran ecosistema C existente con enlaces C, sin tener que escribir código C.
El sistema de macros de Crystal simplifica la generación de código y puede usarse para reducir la repetición.
Probar Crystal
Los desarrolladores pueden probar Crystal rápidamente con el área juegos en línea de Crystal.
Frameworks de Crystal
Los desarrolladores pueden crear aplicaciones web con un ecosistema creciente de marcos web, siendo los más notables Amber, Lucky o Kemal.
Historia de Crystal
El lenguaje de Crystal fue originalmente llamado Joy y se creó en 2011, con los objetivos originales de combinar la productividad de Ruby con la velocidad y seguridad de tipos de un lenguaje compilado.
La primera versión oficial se lanzó en 2014. Crystal 1.0 se lanzó en marzo de 2021.
Licencia
Crystal tiene una licencia Apache License, Versión 2.0.