A découvrir : le langage Crystal

Par:
fredericmazue

lun, 09/05/2016 - 16:16

Crystal est un langage tout jeune qui veut proposer une syntaxe proche de celle du langage Ruby. Ce qui ne signifie pas du tout qu'il y aura compatibilité entre l'un et l'autre. Leurs buts sont différents également. Ruby est un langage de script. Crystal est un langage compilé qui cherche la performance. 

Crystal est typé statiquement, sans qu'il soit nécessaire de déclarer les types des variables. Autrement dit, Crystal est doté d'une inférence de type.

Voici un exemple que code en Crystal : un serveur Web qui répond Hello World.

# A very basic HTTP server

require "http/server"

server = HTTP::Server.new(8080) do |context|
  context.response.content_type = "text/plain"
  context.response.print "Hello world, got #{context.request.path}!"
end

puts "Listening on http[:]//0.0.0.0:8080"
server.listen

Une originalité : Crystal permet d'invoquer directement du code C, en déclarant des bindings de variables C directement dans le code Crystal.

Crystal vise la performance, avec son compilateur, écrit lui même en Crystal, qui génère du code natif.

Crystal vient de sortir en version 0.16. Il est open source, accessible sur GitHub.  

Source : linuxfr.org