A Crystal egy objektum-orientált programozási nyelv , amelyet Ary Borenszweig és Juan Wajnerman, valamint több mint száz felsorolt közreműködő tervezett és fejlesztett ki. A Crystal Apache 2.0 licenc alatt nyílt forráskódú , szintaxisát a Ruby ihlette . A változók és argumentumok típusát statikusan ellenőrzik, anélkül, hogy a kódban meg kellene adni.
A nyelv kidolgozása 2011 júniusában kezdődött, azzal a céllal, hogy a Ruby eleganciájával és termelékenységével, valamint az összeállított nyelv statikus gépelésének sebességével, hatékonyságával és biztonságával hozzon létre egy nyelvet. Eredetileg Joy néven a projektet gyorsan Crystal névre keresztelték .
A Crystal fordítót először a Ruby-ban írták, de később átírták, amikor a Crystal 2013 -ban lett önálló nyelv . Az első hivatalos verzió 2014 júniusában jelent meg. 2016 júliusában a Crystal csatlakozik a TIOBE indexhez .
Noha a szintaxisában a Ruby nyelvnek tűnik, a Crystal sokkal hatékonyabb natív kódra fordít egy LLVM háttérprogram segítségével . Ennek fizetendő ára a Ruby dinamikus aspektusainak használatának tilalma. A legutóbbi teljesítménytesztek azt mutatták, hogy a Crystal nagyjából hasonló a C- hez, számos számítási feladathoz. A nyelv automatizált szemétgyűjtést kínál, és jelenleg Boehm-gyűjtőt kínál . A Crystal makrórendszerrel rendelkezik, támogatja a nagyvonalúságot és a kezelő túlterhelését.
Íme a "Hello World" írásának legegyszerűbb módja Crystal-ban:
puts "Hello World!"Vagy objektum-orientált programozási stílust használ :
class Greeter def initialize(name) @name = name.capitalize end def salute puts "Hello #{@name}!" end end g = Greeter.new("world") g.salute