
おはよう。
今日はエンジニアらしい記事を書いていく。
それは、近々リリースされると噂されているRuby3.0の情報である。
私も先日は上司とこの話で盛り上がった。
今日はそんなRuby3.0の情報についてRubyの生みの親である、まつもとゆきひろ氏が語る文章があったので、
私がわかる範囲の重要そうな情報を要約してこの記事に詰め込んだ。
少々雑な部分もあるが、実際に重要なところは抑えられるはずなので、Rubyistはぜひ読んでみてほしい。
当記事は以下の記事を参考にしている。
https://logmi.jp/tech/articles/321280
もくじ
Ruby3.0のリリース日
現時点では、
Ruby3.0は2020年の12月にリリースされる予定だ。
Ruby3.0の3つの柱
Ruby3.0では以下のような点を重視してアップデートを行うようだ。
1, パフォーマンスの改善
2, 並行性(concurrency)
3, 静的解析(型チェック)
パフォーマンスの改善
Rubyは他言語に比べて「遅い」と言われがち。
主にパフォーマンスの改善するべき箇所としてガベージコレクションの改善、メモリ管理の改善が非常に重要だと考えているようだ。
しかし、パフォーマンスでボトルネックなのはメモリだけではなく、「CPU」も改善が必要。
まとめると、
・メモリ
・CPU
Ruby3.0ではこの2つのパフォーマンス改善する。
静的解析
Ruby3.0で型チェックをやるに至った経緯
2010年代に使われていたプログラミング言語はほとんどが静的型付け言語である。
何故なら動的型付け言語では、プロジェクトが大きくなると「テスト」が苦痛になっていくから。
主な原因
・テストのサイズが大きくなりすぎる
・テストの実行時間が長くなる
そして最近のアップデートで競合である動的型付けの他言語も静的型付けっぽいアプローチを使っていることが多い。
・例
PHP・・Type Hinting
Python・・Type Annotation
JavaScript・・Type Script
「静的型チェック」が現在のプログラミング言語のトレンドとも言える。
具体的にどのような仕様になるのか
Ruby3.0では言語とは別に「4つのコンポーネント」を用意する。
・rbiファイル
・それぞれのライブラリの型定義をrbiファイルで記述したもの
・Type Profiler・・抽象解釈というテクニックを使ってプログラムを解析
・静的型チェッカー
因みに現在開発されている静的型チェッカーは2種類。
・Sorbet
・Steep
4つのコンポーネントを用いることで型宣言を書かなくとも型チェックができるようになる。
なので、Rubyのプログラムには型宣言を書かなくても型宣言ができるようになるのだ。
最後に
以上でRuby3.0についての要約文を終了する。
「2, 並行性(concurrency)」について書いていないではないか!
と言われそうだが、申し訳ない。
それっぽい文章を抜き出すことが出来なかったのだ。本当に申し訳ない。
気になる方はぜひ原文を読んでみてほしい。
原文
https://logmi.jp/tech/articles/321280
どちらにせよ、これからRubyをやっていく方であればRuby3.0の情報は嫌でも知ることになる。
エンジニアは日々進化するIT技術についていかなければならず大変だ。
しかし、それこそがIT技術を使う者の真の面白さでもある。
新しい情報にいつもアンテナを張り巡らせておく
このことを忘れずに日々業務や学習を取り組んでいこう。
ここまで読んでくれてありがとう。
他の記事も読んでいただけると幸いだ。
おすすめ記事


