【Rubyistなら知っておきたい】Ruby3.0のリリース日と「3つの柱」

おはよう。

 

今日はエンジニアらしい記事を書いていく。

 

それは、近々リリースされると噂されているRuby3.0の情報である。

 

私も先日は上司とこの話で盛り上がった。

 

今日はそんなRuby3.0の情報についてRubyの生みの親である、まつもとゆきひろ氏が語る文章があったので、

私がわかる範囲の重要そうな情報を要約してこの記事に詰め込んだ。

 

少々雑な部分もあるが、実際に重要なところは抑えられるはずなので、Rubyistはぜひ読んでみてほしい。

 

 

 

当記事は以下の記事を参考にしている。

https://logmi.jp/tech/articles/321280

 

 

Ruby3.0のリリース日

 

現時点では、

 

Ruby3.02020年の12月にリリースされる予定だ。

 

 

Ruby3.0の3つの柱

 

Ruby3.0では以下のような点を重視してアップデートを行うようだ。

 

1, パフォーマンスの改善

2, 並行性(concurrency

3, 静的解析(型チェック)

 



 

パフォーマンスの改善

 

Rubyは他言語に比べて「遅い」と言われがち。

 

主にパフォーマンスの改善するべき箇所としてガベージコレクションの改善、メモリ管理の改善が非常に重要だと考えているようだ。

 

しかし、パフォーマンスでボトルネックなのはメモリだけではなく、「CPU」も改善が必要。

 

 

まとめると、

 

・メモリ

CPU

 

 

Ruby3.0ではこの2つのパフォーマンス改善する。

 

 

静的解析

 

静的解析とは
実行ファイルを実行することなく解析を行うこと。
CやJavaなどのコンパイル言語はファイルの実行前にコンパイルを必要とするが、
一方でRubyやPythonなどのインタープリタ言語はコンパイルをする必要なくファイルを実行することが出来る。
これは裏で「静的解析」が行われているからだ。

 

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技術を使う者の真の面白さでもある。

 

 

新しい情報にいつもアンテナを張り巡らせておく

 

 

このことを忘れずに日々業務や学習を取り組んでいこう。

 

ここまで読んでくれてありがとう。

 

他の記事も読んでいただけると幸いだ。

 



おすすめ記事

 

【覚醒】「中ニ病」はIT技術を学ぶべきだ
2020.2.27
おはよう。 今日は中ニ病の自覚があるならIT技術を学ぶべきという話を書いていく。 中ニ病とは 中学2年生頃の思春期に見られる、背伸びしがちな言動のことである。 イントロダクション 私は自分が中ニ病だという自覚がある。 中ニ病用語辞典というWebサービスを作ったほどだ。 中二病用語辞典→...
【驚愕の事実】Webエンジニアになっても〇〇ではない
2020.2.27
おはよう。   今日はWebエンジニアになってもゴールではないという話を書いていく。   タイトルの〇〇に入る言葉は「ゴール」である。   もくじ1 イントロダクション2 Webエンジニアになる != ゴール3…...
19歳でエンジニア転職を成功させた男の作ったWebアプリを紹介!
2020.2.27
おはよう。   今日は私がこれまで作ったWebアプリを紹介する。   私はこれまでに思いついたアイデアを直ぐにアプリにすることを念頭においてアプリ作ってきた。   そうすることで10個の動くアプリを作ることがで…...




RubyとRailsの関連記事
  • Docker × Railsで日本時間を設定する方法
  • 【全て公開】Railsエンジニアが入社6ヶ月で使ったRubyGems 4選
  • 【Docker】unknown mysql server host 'db' (-2) と表示されるときの対処法
  • 【Rails Minitest】'test' is already defined in Users::SessionsControllerTest (RuntimeError)
  • 【超カッコいい!】Ruby Gemの名前 3選!
  • 【Rails】バリデーションについて