MENU
  • このブログに関して
  • 特集アーカイブ
    • Windows更新情報
    • Windows11使いこなし
    • Windows 10使いこなし
    • macOS/iOS/iPadOS更新情報
    • macOS使いこなし
    • iOS使いこなし
    • Webブラウザ更新情報
  • ソフトウェア
  • Windows
  • Mac
  • iOS
  • セール
PCやMacの性能を100%発揮
ソフトアンテナ
  • このブログに関して
  • 特集アーカイブ
    • Windows更新情報
    • Windows11使いこなし
    • Windows 10使いこなし
    • macOS/iOS/iPadOS更新情報
    • macOS使いこなし
    • iOS使いこなし
    • Webブラウザ更新情報
  • ソフトウェア
  • Windows
  • Mac
  • iOS
  • セール
ソフトアンテナ
  • このブログに関して
  • 特集アーカイブ
    • Windows更新情報
    • Windows11使いこなし
    • Windows 10使いこなし
    • macOS/iOS/iPadOS更新情報
    • macOS使いこなし
    • iOS使いこなし
    • Webブラウザ更新情報
  • ソフトウェア
  • Windows
  • Mac
  • iOS
  • セール
  1. ホーム
  2. ソフトウェア
  3. Ruby開発者がCrystalを使うべき5つの理由

Ruby開発者がCrystalを使うべき5つの理由

2018 1/16
ソフトウェア
2018年1月16日 2018年1月16日
  • URLをコピーしました!

Pexels photo 326240

プログラミング言語の動向に詳しい方ならば「Crystal」言語の名前を聞いたことがあるかもしれません。Rubyと互換性の高いシンタックスを採用し、コンパイラによる型チェックや高速実行が可能な利点を持っています。

このCrystal公式ブログに「Top 5 Reasons for Ruby-ists to Use Crystal(Ruby開発者がCrystalを使うべき5つの理由)」という興味深い情報が公開されています。

特にRuby開発者ならばチェックしておいて損がない情報といえるかもしれません。

目次

目次

  • 1 非常に低い学習曲線
  • 2 コンパイル時のチェックとメソッドオーバーローディング
  • 3 極めて高速
  • 4 Webフレームワークもすでに存在
  • 5 CrystalはCrystalで書ける
  • 6 まとめ

非常に低い学習曲線

CrystalはRubyと互換性の高いシンタックスを採用しており習得が容易。

例えば以下のコードはRuby/Crystalどちらでも動作する。

module Year
  def self.leap?(year)
    year % 400 == 0 || (year % 100 != 0 && year % 4 == 0)
  end
end

完全な互換性があるわけではないが、Rubyの経験があればすぐに実践に導入可能。

コンパイル時のチェックとメソッドオーバーローディング

Crystal言語では入力と出力の型がコンパイル時にチェックされる。

メソッドに引数の型を指定してオーバーロードすることも可能。

def self.leap?(year : Int)
    year % 400 == 0 || (year % 100 != 0 && year % 4 == 0)
  end

  def self.leap?(time : Time)
    self.leap?(time.year)
  end
end

極めて高速

コンパイルによるその他の利点として速度と最適化がある。乱数生成のサンプルでは10桁の規模でCrystalがRubyより高速。組み込みのHTTPサーバーは200万リクエストを一秒間に処理できる。

Webフレームワークもすでに存在

Railsのような統合フレームワークとしてはAmberが、Sinatraのようなカスタマイズ性が好みならばKemalがある。

コンパイル時の型チェックやHTTPメソッド、データベースクエリなどを実装したフルスタックフレームワークLuckyも存在。

CrystalはCrystalで書ける

Crystal言語はCrystal言語で作られている。例えばRubyのEnumerable#all?は以下の通りだが、

static VALUE
enum_all(int argc, VALUE *argv, VALUE obj)
{
    struct MEMO *memo = MEMO_ENUM_NEW(Qtrue);
    rb_block_call(obj, id_each, 0, 0, ENUMFUNC(all), (VALUE)memo);
    return memo->v1;
}

Crystalは以下の通りシンプルだ。

def all?
  each { |e| return false unless yield e }
  true
end

Rubyは30.6%がCで64.8%がRubyで書かれているのに対し、Crystalは0.3%がC++で98.4%がCrystalで書かれている。

まとめ

CrystalはRuby開発者に馴染みやすい文法を採用しているのに加え、コンパイラによる型チェックや高速動作など優れた特徴をいくつか持っています。

TIOBE Index for January 2018では、まだ50位以内に入っていないプログラミング言語ですが(51〜100位のNext 50には選ばれています)、今後の発展に期待できそうです。

ソフトウェア
Crystal
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
  • 豊富なカスタマイズ機能を搭載したデスクトップクリスマスツリー「My Christmas Tree for Desktop」が半額になった本日のアプリセールまとめ
  • 世界最薄だったMacBook Airの発表から10年が経過

関連記事

  • Microsoft、KB5021751はユーザーの個人情報を取得するためのものではないと断言
    2023年2月5日
  • memtest86+ 6.1がリリース - セキュアブートサポートの改善など
    2023年2月4日
  • LibreOffice 7.5がリリース - ダークモードの改良や新しいアイコンの導入など
    2023年2月3日
  • PowerToys 0.67.0がリリース - Quick access system tray launcherが追加
    2023年2月2日
  • elementary OS 7が正式リリース - アプリ入手性の改善や設定の改良など新機能多数
    2023年2月1日
  • AutoHotkey v2が正式に主要バージョンに
    2023年1月30日
  • 画面録画機能を搭載したMicrosoftの「Snipping Tool」の正式公開が一歩近づく
    2023年1月30日
  • M1/M2/Intel MacでWindows 11を実行できる「UTM 4.1」
    2023年1月29日
スポンサーリンク
サイト内検索
特集アーカイブ
  • Windows更新情報
  • Windows11使いこなし
  • Windows 10使いこなし
  • macOS/iOS/iPadOS更新情報
  • macOS使いこなし
  • iOS使いこなし
  • Webブラウザ更新情報
Feedlyに登録

登録お願いします!

follow us in feedly

人気記事
  • Lp logo 3 1000x657 質問に対し流暢な日本語で回答してくれる「ChatGPT」が公開 - 試し方はこちら
  • Tiny11 Tiny11が爆誕 。極限まで無駄をそぎ落とした軽量Windows 11
  • S 20221123 111042 Windows 11のタスクトレイ時計の秒表示を有効にする方法
  • S 20210923 114221 Windows 11で「管理ツール」を開く方法
  • S 20221206 204658 メニューバーから対話できる「ChatGPT for Mac」がリリース
  • S 20220219 172234 【Tips】iPhoneで撮影した特定の写真だけをiCloudに保存する方法
  • 1675270404 windows 11 update prompt 1 回避不可能?Microsoft、フルスクリーンのWindows 11アップグレード通知を展開開始
  • Hero elementary OS 7が正式リリース - アプリ入手性の改善や設定の改良など新機能多数
  • 1675182949 windows 11x concept 4 Microsoftの次世代OS「 Windows 11X」のコンセプト
  • S 20230205 102926 Microsoft Edgeに100%間違いな新機能が追加へ
カテゴリー
タグ
Amazon Android App Apple applewatch appsale Chrome Edge Firefox Git Github Google iOS iPad ipados iPhone iPhone6 iphone7 iphone8 iTunes JavaScript Kindle Linux Mac MacBook MacBookPro macos Microsoft Nintendo OS X OSX Parallels Rails Ruby Sale Steam Swift Twitter VMware Windows windows7 windows10 windows11 Wine Yosemite
新着記事
  • AmazonでバッファローのUSB3.2(Gen2)スティックSSDがお買い得なタイムセールが実施中
  • シンプルなHEIF画像変換ソフト「Image2HEIF」がセール中!本日のアプリセールまとめ
  • 【2/10まで】Kindleストアで「技術書」の読書術などが最大50%OFF!翔泳社祭 2023が開催中
src256
ソフトアンテナを開発しています。

Windows/Mac/Linux全部使用中。ソフトウェア、ハードウェアいろいろなモノに興味があります。

好きなエディタはEmacs。好きな言語はRubyです。


srcw.net
  • プライバシーポリシー

© 2022 ソフトアンテナ

目次