Ruby-agtigt Crystal-sprog debuterer i version 1.0

Illustration: Bigstock/Wladimir.B
Hurtig afvikling med statiske typer er blandt sprogets mål.

Sproget Crystal har debuteret i version 1.0. Ifølge projektet bag er Crystals syntaks stærkt inspireret af Ruby, så det føles naturligt at læse og let at skrive, og har en lav indlæringskurve for erfarne Ruby-udviklere.

Et eksempel kan se sådan ud:

# A very basic HTTP server
require "http/server"
 
server = HTTP::Server.new do |context|
  context.response.content_type = "text/plain"
  context.response.print "Hello world, got #{context.request.path}!"
end
 
puts "Listening on http://127.0.0.1:8080"
server.listen(8080)

Crystal har som mål at have en syntaks, som minder om Rubys, dog uden decideret kompatibilitet. Dertil byder sproget på statiske typer med typeinferens, samt mulighed for at kalde C-kode fra sproget, og med evnen til at genere effektiv maskinkode.

I en meddelelse angående version 1.0 skriver udviklerne bag sproget:

»Sprog-stabilitet er sandsynligvis en af de mest fremtrædende og forventede grunde til endeligt at have Crystal 1.0. Vi modtog adskillige kommentarer fra folk, der var villige til at bruge sproget i produktion i alle disse år, men først efter at vi kunne give et løfte om ikke at knække det fra den ene dag til den næste.«

De forsætter:

»Efter denne udgivelse kan alle forvente, at din kode - i det mindste for enhver fremtidig 1.x-version - stadig kan kompilere og fungere uden nogen væsentlig inkompatibilitet. Sprog og faciliteter i standardbiblioteker fjernes eller ændres ikke på nogen måde, der kan forhindre eksisterende kode i at kompilere og virke. Det indbyggede standardbibliotek vil fortsat blive udvidet, men altid med bagudkompatibilitet i tankerne.«

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Følg forløbet
Kommentarer (4)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
#1 Morten Pedersen

Hvorfor er det nødvendigt at blive ved med at opfinde / udvikle nye sprog ? Alle de problemer som kommer med f. eks sikkerhed, mulige vulnerabilities som bliver fundet hen af vejen. En løsning på de mange sikkerhedsbrister som bliver fundet var måske at have færre, godkendte sprog på samme måde som man i HW verdenen ikke bruger alle mulige tilfældige Kina-stumper, men kun komponenter som er UL eller UR mærket, hvis man er seriøs og laver et produkt som skal kunne godkendes sikkerhedsmæssigt.

  • 4
  • 3
#2 Bob Hagenstrup

Hvorfor er det nødvendigt at opfinde overhovedet? Hvorfor lever vi ikke i junglen som aber?

Crystal har nogle interessante egenskaber, og det kan være nyttigt at se hvor godt de virker i praksis. F.eks. bliver en funktion først type-chekket hvis den bliver kaldt. Dette er ikke kutymen i statisk typiserede sprog.

  • 1
  • 1
Log ind eller Opret konto for at kommentere