Crystal: Un nuevo lenguaje de programación que buscar integrar lo mejor de Ruby y C

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.

Artículos Relacionados
Ionic: Anuncia cambios importantes y presenta Capacitor 2.0

Los desarrolladores usan Capacitor como contenedor de aplicaciones nativas para empaquetar e implementar sus aplicaciones Ionic en varias plataformas móviles y de escritorio. Capacitor, te permite acceder a funciones nativas como la cámara usando el mismo código en todas las plataformas, sin tener que ¡SEGUIR LEYENDO!

Javalin: Framework web ligero de Java y Kotlin, crea API REST en Java o Kotlin

Javalin comenzó como una bifurcación del framework de SparkJava, pero rápidamente se convirtió en una reescritura desde cero influenciada por el framework de JavaScript koa.js. Javalin está construido sobre Jetty y su rendimiento es equivalente al código de Jetty sin procesar. ¿Qué es Javalin? ¡SEGUIR LEYENDO!

10 Mejores Herramientas de Inteligencia Artificial con Posibilidades de Crecer en el Futuro

Está claro que en los próximos años, la inteligencia artificial ayudará en todos los desarrollos importantes y cambiará la forma en que se hacen las cosas a día de hoy. Es muy probable, que a largo plazo se termine por convertir en un total ¡SEGUIR LEYENDO!