Ruby on RailsによるWeb開発言語として世界中で使われているプログラミング言語Rubyは、2020年12月25日にメジャーバージョンアップ版の3.0がリリースされました。Rubyの新しい時代の幕開けです。
とはいえ、このバージョンアップで何が変わったか解らない、という方もいるでしょう。今回は、Rubyの歴史とRuby3.0の特徴、およびRuby3.0をインストールする方法について解説します。
- Ruby3.0系が2020年12月25日にリリースされた
- 新しいRuby3.0系とそれまでの2.4系の違い
- Ruby3.0系の特徴はパフォーマンスと静的解析
- Ruby3.0を導入するならrbenv利用がおすすめ
Ruby3.0リリース
プログラミング言語Rubyの3.0が2020年12月25日にリリースされました。Rubyの2.0がリリースされたのが2013年2月24日だったので、7年ぶりのメジャーバージョンアップです。
このRuby3.0は、Rubyのデメリットだった処理速度がかなり向上しており、機能も大幅にアップしています。もし、最新のRubyを利用しようと考えている方は、ぜひRuby3.0を利用してください。
なお、Ruby2.4より以前のバージョンはメンテナンスが終了しています。そのような古いバージョンを利用しているシステムのバージョンアップを検討するのも良いでしょう。
ただし、3.0の1つ前のバージョンの2.7は、2019年にリリースされたばかりです。このような比較的新しいバージョンを利用されている場合は、次回以降のリリースを待ってもいいですが、どうやって更新するかを検討しておいてください。
Rubyを学びたい方におすすめのスクールはこちら
プログラム言語Rubyの歴史
Rubyが登場したのは1995年12月で、既に25年以上使われているプログラム言語です。そして、当時スクリプト言語として人気のあった「Perl」に続くスクリプト言語として、6月の誕生石であるPerlの次、つまり7月の誕生石であるRubyと名付けられたのは有名なエピソードです。
そのようなRubyのメジャーバージョンアップ版のRuby3.0が2020年12月に登場しました。Rubyが登場してから3.0になるまでの歴史を簡単に解説します。
Rubyのバージョン1系
プログラミング言語Rubyは、日本人のまつもとゆきひろさんが開発したオープンソースのオブジェクト指向スクリプト言語です。そのため当初、まつもとさんをはじめとする日本人が開発の中心でした。
ただし、当時はC++やJavaといったオプジェクト指向言語が普及した時期で、コンパイル型のプログラム言語が主流でした。そのため当時のRubyは今ほど知られておらず、一部の先進的なエンジニアが支持するスクリプト言語でした。
Ruby on Railsでメジャーな言語に
Rubyが普及したのはRuby on Railsが登場した2004年以降です。なおRuby on Railsは、Rubyの短く読みやすいプログラミング言語の特徴を活かしたフレームワークで、今でも多くのWebシステムに採用されています。
なおRuby on Railsが登場した当時、Webサービスの開発に使われていたプログラム言語はJavaでしたが、作成に手間がかかるJavaは素早くリリースしたいWebサービスと相性が悪く、Javaに代わるプログラム言語が求められていました。
Ruby on Railsは、そのようなWebサービス開発のニーズに一致したフレームワークとして普及し、Rubyを世界中で使われるプログラミング言語に成長させたと言えます。
Ruby2系で処理速度などを改善
Ruby on Rilasの普及でメジャーなプログラム言語となったRubyですが課題も多く、バージョンアップを繰り返してきまました。例えば、Ruby on Railsでよく使われていたバージョンは、2.3系、2.4系、2.5系、2.6系の4つですが、バージョンが上がるたびにWeb開発の要望を取り入れてきました。
なお、スクリプト型のプログラム言語であるRubyには、実行速度が遅いという欠点がありました。そのため、当初Ruby on RailsでWebサービスを作ったものの、利用者の増加に処理速度が追いつかず、より高速処理が可能なプログラム言語に置き換えた例もあります。
そのため、Rubyの2.6系から処理速度の改善するためにJIT (Just-in-time) コンパイラが導入されました。また、他にもWebサービス開発に便利な機能が幾つも追加されています。今回紹介するRuby3.0は、このように追加された機能を全て含み、さらに処理速度などの機能をアップさせたバージョンです。
Rubyを学びたい方におすすめのスクールはこちら
Ruby 3.0の特徴
Rubyのバージョン3.0は2020年12月25日にリリースされました。Rubyのバージョン管理ツールなどで、Rubyの3.0に切り替えて利用することが可能です。次から、Ruby 3.0の特徴について紹介します。
パフォーマンスの改善
実行速度が遅いというデメリットは、長くRubyのデメリットとされてきましたが、2.6系からJITコンパイラが導入され、バージョンが上がるとともに改善されてきました。
さらにRubyのバージョン3では、Rubyバージョン2の3倍速いをスローガンに開発が進められました。今回リリースされたRuby3.0が3倍速い早い訳ではありませんが、パーフォーマンスは大幅に改善されています。
ただし、Ruby3.0をRuby on Railsに使用した場合、JITコンパイラが逆に負荷を増やしてしまうため、性能を改善できていません。今後改善される予定があるので、次回以降のバージョンに期待してください。
並列処理
Rubyのバージョン3から並行・並列制御機構が導入されました。最近のCPUはコアを複数搭載しており、同時に複数の処理が可能です。しかし、これまでのRubyのバージョンでは、複数のコアで同時に処理するための記述ができませんでした。
Ruby3.0から、並列に処理する仕組みとしてRactorが導入されました。これで時間がかかる処理を別のコアで実行し、複数の処理が終わったらその結果を表示する、といった使い方が可能です。ただし、この並列機能はまだ完全ではないので、今後バージョンアップで改善されていくそうです。
静的解析
Rubyは、変数の型宣言なしでもプログラム内で変数を利用できる点がメリットの1つです。しかし、大規模なプログラムでは型宣言が必要なケースが多く、Rubyは短く読み易いプログラムが書けるものの、大規模なシステム開発に向かない言語とされてきました。
しかし、Webシステムの大規模化により、Rubyを利用するケースもあります。そのためRuby3.0から型定義を処理するためのライブラリと型解析ツールを導入されました。
この新機能を使うことで、Rubyプログラムの型を記述するための言語で型を宣言し、その整合性を型解析ツールでチェックできます。また、この機能はRubyの変数の型が問題になるようなプログラムでも利用できます。
Rubyを学びたい方におすすめのスクールはこちら
Ruby3.0の導入方法
Rubyのバージョン3.0を利用するにはどうすればいいでしょうか。Rubyはオープンソースのプログラムなので、ソースコードからコンパイルできる方は、自分でRubyの実行モジュールの作成が可能です。
しかし、Rubyを利用されている全ての方が自分でコンパイルできる訳ではありません。そのような方のために実行可能なRubyのバージョン3.0をインストールする方法を紹介します。
Linux標準Rubyはバージョンが古い
Rubyは、CentOSやUbuntuなどのLinuxディストリビューションの標準ツールとしてインストールできます。そのようなRubyを利用されている方もおられるでしょう。しかし、そのようなLinuxディストリビューションの標準でインストールできるRubyはバージョンが古く、Rubyの3.0は利用できません。
Rubyの3.0を利用するなら、別の方法を利用してください。
rbenvを利用する
特定のバージョンのRubyを利用する際によく利用されるのがrbenvです。もし、LinuxまたはmacOSでRuby3.0を利用するならrbenvコマンドを利用してください。
なおrbenvを利用するためには、gitコマンドとRubyのソースコードからコンパイルするための環境が必要です。rbenvをインストールする前にそれらのパッケージをインストールしてください。次にCentOSにRuby3.0をインストールする例を紹介します。
CentOSへのrbenv実行環境の設定例
$ sudo yum install -y git gcc gcc-c++ openssl-devel readline-devel
続いてgithubからrbenvを導入し、環境設定を実施します。さらに、githunからruby-buildもインストールしてください。これはrbenvコマンドを利用してRubyのソースコードからコンパイルするために必要です。
rbenvのインストールの例
$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv $ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile $ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile $ source ~/.bash_profile $ rbenv --version $git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
これでrbenvを用いてRubyをインストールする環境ができました。次のコマンドでRuby3.0をインストールしてください。インストールに成功したら、「rbenv versions」コマンドでチェックできます。
$rbenv install 3.0.0 ... $rbenv versions
まとめ
Rubyは日本人によって開発され、世界中で利用されているプログラム言語です。そして、習得しやすく短い記述でプログラムが書けることから、Ruby on Railsを利用したWebシステム開発でよく利用されています。もし、これからRubyを学ぶなら、今回紹介したRuby3.0を利用してください。
ただし、Rubyの2.7などの古いバージョンもまだまだ使われています。そのような古いRubyを使用したWebシステムのメンテナンスを任される可能性もあります。そのような場合に備えて今回紹介したRubyのバージョン管理ツールrbenvで、違うバージョンに切り替えられるようにしておきましょう。
また、Rubyについてもっと詳しく学びたい方は、ポテパンキャンプの利用を検討されてはいかがでしょうか。
Rubyを学びたい方におすすめのスクールはこちら