Crystal ist eine allgemeine, objektorientierte Programmiersprache mit Ruby-ähnlicher Syntax und statischer Typisierung. Sie kompiliert über LLVM zu nativem Maschinencode — die Eleganz von Ruby mit der Geschwindigkeit von C. Der Compiler heißt crystal, der Paketmanager shards.
Compiler-Grundbefehle
crystal run programm.cr # kompiliert und führt aus
crystal build programm.cr # erzeugt ausführbares Binary
crystal build --release programm.cr # optimierte Produktionsversion
crystal spec # führt Specs/Tests aus
crystal docs # generiert API-Dokumentation
crystal tool format datei.cr # formatiert den Quellcode
crystal eval 'puts "Hallo"' # Code direkt auswerten
crystal --version # Version anzeigen
Shards — Paketmanager
shards init # neues Projekt mit shard.yml anlegen
shards install # Abhängigkeiten installieren
shards update # Abhängigkeiten aktualisieren
shards build # Projekt bauen
shards check # prüft, ob alles installiert ist
Die Abhängigkeiten stehen in der shard.yml-Datei. Bekannte Web-Frameworks sind Kemal (schnell und einfach) und Lucky; die Standardbibliothek bringt bereits einen HTTP-Server mit.
Besonderheiten
- Typinferenz: Typen werden zur Kompilierzeit ermittelt, ohne Typannotationen zu erzwingen.
- Concurrency über Fibers und Channels, ähnlich wie bei Go.
- Makros zur Metaprogrammierung zur Compile-Zeit.
Verwandte Grundlagen: Ruby-Befehle, Go-Befehle, Rust-Befehle, Nim-Befehle.