1. 17 de Septiembre de 2019
UNGS
Francisco R. Tarulla
ftarulla@manas.tech
El Crystal encantado
Un lenguaje de programación
2. 17 de Septiembre de 2019
UNGS
Francisco R. Tarulla
ftarulla@manas.tech
El Crystal encantado
Un lenguaje de programación
(pero sin marionetas)
3. Queremos un lenguaje:
● Cómodo y seguro para el programador
● Cómodo para la máquina
● https://crystal-lang.org
● @CrystalLanguage
4. ● Syntaxis amena
● Compilado
● Evitar errores en runtime cuando se
pueda
● Multi-dispatch
● Estáticamente tipado (pero con
inferencia)
● Promover buenas prácticas de uso de
recursos
● Modelo de programación concurrente
● Metaprogramación
● Integración con C
● https://crystal-lang.org
● @CrystalLanguage
5. ● Syntaxis amena
● Compilado
● Evitar errores en runtime cuando se
pueda
● Multi-dispatch
● Estáticamente tipado (pero con
inferencia)
● Promover buenas prácticas de uso de
recursos
● Modelo de programación concurrente
● Metaprogramación
● Integración con C
● https://crystal-lang.org
● @CrystalLanguage
9. https://crystal-lang.org
@CrystalLanguage
class Dragon
def meet(h : Human)
puts "Bite"
end
def meet(d : Dragon)
puts "Play"
end
end
class Human
def meet(h : Human)
puts "Hi #{h.name}, I'm #{name}"
end
def meet(d : Dragon)
puts "Watch & train #{d.name}"
end
end
creatures = [Human.new("Hiccup"), Human.new("Astrid"),
Dragon.new("Toothless"), Dragon.new("Fireworm")]
a, b = creatures.sample(2)
a.meet(b)