Mostrando entradas con la etiqueta crystal. Mostrar todas las entradas
Mostrando entradas con la etiqueta crystal. Mostrar todas las entradas

domingo, 1 de febrero de 2026

Crystal: la hermana "cool" de Ruby

Hace tiempo que hablamos sobre este lenguaje de programación que comparte mucha similitud con Ruby.

Como mencionamos anteriormente, Crystal posee una sintaxis similar a Ruby. Sin embargo, es un lenguaje que promete ser mucho más rápido y eficiente. Además de otras peculiaridades que lo hacen digno de no pasar inadvertido.

Veamos un ejemplo.

server.cr

# Un servidor HTTP básico
require "http/server"

server = HTTP::Server.new do |context|
  context.response.content_type = "text/plain"
  context.response.print "Hola, mundo, obtenemos #{context.request.path}!"
end

address = server.bind_tcp(8080)
puts "Escuchando desde el puerto: http://#{address}"

# Invocamos el bloque hasta que el proceso finaliza
server.listen

En pocas palabras se trata de una aplicación HTTP que muestra el clásico "Hola, mundo". Echémoslo a andar. Pero antes de hacer nada comencemos con su instalación.

Instalación en Linux

Abrimos una terminal y tecleamos lo siguiente:

$ curl -fsSL https://crystal-lang.org/install.sh | sudo bash
$ apt install crystal

Instalación en Windows

Abrimos una terminal y tecleamos lo siguiente:

$ scoop install git
$ scoop bucket add crystal-preview https://github.com/neatorobito/scoop-crystal
$ scoop install vs_2022_cpp_build_tools crystal

Podemos validar la instalación tecleando:

$ crystal --version

Ejecutamos el script:

$ crystal server.cr

Abrimos el navegador en la ruta: http://localhost:8080/Thomas

Salida:

Hola, mundo, obtenemos /Thomas!

En lenguajes como Java tendríamos que haber creado un proyecto completo para realizar esta actividad.

Ahora veamos cómo consumir una API pública (https://api.chucknorris.io/).

get_chiste.cr

require "http/client"
require "json"

response = HTTP::Client.get("https://api.chucknorris.io/jokes/random")
json = JSON.parse(response.body)

value = json["value"]
put "Chiste sobre Chuck Norris: #{value || "Ninguno"}"

Ejecutamos el script:

$ crystal get_chiste.cr

Salida:

Chiste: Chuck Norris attended last year's Nobel Prize ceremony wearing an all-white snakeskin pimp suit with matching widebrim hat and feather.

Al ser una salida aleatoria el resultado puede variar.

Notas importantes

Crystal nos permite compilar nuestros scripts y con ello crear ejecutables.

Compilando el ejemplo anterior:

$ crystal build get_chiste.cr

Con esto nos creará los siguientes archivos:

gc.dll
get_chiste.cr
get_chiste.exe
get_chiste.pdb
iconv-2.dll
libcrypto-3-x64.dll
libssl-3-x64.dll
zlib1.dll

O si solo preferimos la ejecución de estas dos formas:

$ crystal programa.cr
# O de esta otra forma:
$ crystal run programa.cr

Los "nuevos" lenguajes como Crystal, Ballerina, Go y Rust han aprendido lo mejor de los lenguajes clásicos y han olvidado lo malo de ellos.

Prometen ser la panacea universal y aliviarnos de las complejidades y otras cuestiones que hacian del desarrollo una actividad, en ocasiones, tediosa y complicada.

Continuaremos con esta serie sobre nuevos lenguajes y herramientas.

Enlaces:

https://crystal-lang.org/
https://codemonkeyjunior.blogspot.com/2024/09/crystal-un-lenguaje-de-programacion.html
https://api.chucknorris.io/
https://emanuelpeg.blogspot.com/2026/01/crystal-el-lenguaje-de-programacion-que.html



sábado, 7 de septiembre de 2024

Crystal, un lenguaje de programación similar a Ruby

Crystal es un digno "copycat" del lenguaje de programación Ruby. Su sintaxis es más que similar.

cadena = "Codemonkey Junior"
puts cadena

Y es que escribir unas cuantas líneas en este lenguaje nos recuerda a Ruby. Crystal es de esos lenguajes que deberías aprender o echar un vistazo, al menos por curiosidad.


Para instalarlo deberás entrar a este sitio y escoger la instalación de acuerdo a tu SO:

https://crystal-lang.org/install/

Una vez instalado, abre una terminal y teclea:

crystal --version

Eso listará la versión instalada.

Empezaremos con el clásico programa de "Hola, mundo".

holamundo.cr

puts "Hola, mundo!!"

Ejecutamos:

crystal holamundo.cr

Salida:

Hola, mundo!!

Sigamos con otro ejemplo. Mostremos algunas variables en Crystal.

variables.cr

# Variables en Crystal
entero = 0
caracter = '\u0032'
booleano = true
real = 9.32
 
puts "#{entero}"
puts "#{caracter}"
puts "#{real}"
 
if booleano
    puts "Es verdadero"
end

Ejecutar:

crystal variables.cr

Salida:

0
2
9.32
Es verdadero

¡Hemos creado nuestros primeros programas en Crystal!

Continuaremos con este tema más adelante.

Enlaces:

https://crystal-lang.org/

sábado, 13 de abril de 2019

Lenguajes que deberíamos aprender


No todo en la vida es C, C++, C#, Java o Python. Existen también otros lenguajes que deberíamos aprender. Por ejemplo, lenguajes como Rust, Crystal, Haxe, Elixir y/o Go pueden sorprender a más de uno. Crear servicior REST en cuestión de sólo unos minutos comparado con lenguajes como Java, PHP y/o C#.

Definir clases:
#Clase en Ruby
class Modelo
  #
end

#Clase en Python
class Modelo:
  pass

#Clase en Crystal, noten lo parecido a Ruby
class Modelo

end

Instancias:

#Ruby
modeloRuby = Modelo.new 

#Python
modeloPython = Modelo()

#Crystal
modeloCrystal = Modelo.new

Links:
https://crystal-lang.org/

Jai un lenguaje de programación inspirado en C++

Hoy hablaremos de un nuevo lenguaje de programación llamado Jai . Se trata de un lenguaje de programación que está desarrolland...

Etiquetas

Archivo del blog