Rubyっぽいシンタックスが使えるコンパイラ言語「Crystal」

[PR]記事内のアフィリエイトリンクから収入を得る場合があります
  • URLをコピーしました!

Crystal

プログラミング言語「Crystal」を紹介します。この言語はRuby風のシンタックスが使えることが売りのコンパイラ言語で、以下のゴールを目標に開発されています。

  • Rubyにインスパイアされたシンタックス。
  • 変数またはメソッド引数の型を明示しない。
  • Crystalでバインディングを書けばCのコードを呼び出すことができる。
  • 定型コードをさけるために、コンパイル時評価とコード生成を持つ。
  • 効率的なネイティブコードを生成する。

動作環境は(今のところ)Mac/Linux。

サンプル

Crystalで素数を求めるプログラムは以下のようになります。

# Compute prime numbers up to 100 with the Sieve of Eratosthenes
max = 100

sieve = Array.new(max, true)
sieve[0] = false

(2...max).each do |i|
  if sieve[i]
    (2 * i).step(max - 1, i) do |j|
      sieve[j] = false
    end
  end
end

sieve.each_with_index do |prime, number|
  puts number if prime
end

すごく…Rubyっぽいですね。

インストール

Introductionにインストール方法など詳細が記載されています。

Ruby 1.9以上、LLVM 3.3が必要。Macの場合brewで簡単にインストールできそうです(Linuxもいけるはずとの説明あり。Windows対応はまだなし)。

  • brew install llvm33 --with-clang
  • git clone git://github.com/manastech/crystal.git
  • cd プロジェクトルート
  • bundle
  • bin/crystal -e 'puts "Hello!"'

まとめ

Ruby好きでかつネイティブにコンパイルしたいという用途なら結構使える言語かもしれません。まだ開発開始されてから1年しかたっていないということなので、今後の発展にも期待です。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次