IT関連技術者に限らず全ての人が学ぶべき一つの言語がある。それはRubyだ。Rubyがあれば何も要らない。
Rubyは何時でも使える。
Rubyは何時でもインストールできる。インストールができない環境であっても、インタプリンタのバイナリを置くだけで使うことができる。
Rubyは何処でも使える。
Rubyは場所を選ばずに使える。
- 公式実装のRubyは標準的なCで書かれていおり、GCC等がサポートするほとんど全てのOSやアーキテクチャで使える。
- mrubyを使えば、組み込み環境でも使える。
- JRubyを使えば、Java VM上でも使える。
- IronRubyを使えば、.NET上でも使える。
- Opalを使えば、ブラウザ上でも使える。
- さらに、少しのコード修正で、静的型付けかつ高速なCrystalとして使用もできる。
Rubyは誰でも使える。
Rubyを使う人に制限はない。
- Rubyは無料である。使用に制限はなく、商用/非商用を問わず、誰でも自由に使える。
- Rubyは習得が容易であるため、プログラマー以外も使える。
Rubyは何にでもに使える。
Rubyはあらゆる用途に対して使える。
- Webアプリを作れる。
- GUIアプリを作れる。
- Windows版ではコンソールを切り離して起動可能な"rubyw.exe"が用意されている。
- 様々なGUIツールキットが使用できる。
- TK: Tk
- GTK+: Ruby-GNOME2
- Qt: QtRuby / ruby-qml
- wxWidgets: wxRuby
- Windowsネイティブ: VisualuRuby
- Macネイティブ: RubyCocoa
- Webベース: Electron + Opal
- 2D/3Dグラフィックのライブラリを使ってゲームも作れる。
- CUIアプリを作れる。
- 標準入出力をサポートしている。
- ワンライナー可能な実行オプションを搭載している。
- 強力な組み込みクラス・メソッドによって、一度限りの実行からサービスとして実行まで、様々な用途に使用可能になっている。
- 処理の自動化に使える。
- テキスト処理に使える。
- 文字列に対する様々なメソッドが用意されている。
- 文字列自体が文字コードを持っているため、Shift_JISやEUC-JPのテキストをそのまま操作できる。
- 正規表現エンジンとして採用しているOnigmoは、Perl互換から多くの拡張がなされており、日本語を含む様々な言語と文字コードに対応するなど、現在最も強力な正規表現エンジンの一つである。
- あらゆるエンコードに対応したiconvだけではなく、日本語文字コードに強いNKFを標準ライブラリとして採用している。
- 他にもたくさんの目的に使える。
- RubyGemsには多くのライブラリが用意されているため、様々な事ができるようになっている。
Rubyは如何ようにも使える。
Rubyはどんなふうにでも使える。
- 流行りのマルチパラダイム言語である。
- Smalltalkの流れを組む純粋オブジェクト指向と言うオブジェクト指向の正統派である。
- LISP由来の関数型プログラミングを支援する機能を一部搭載し、関数型のようにも使用できる。
- Perlのようによく使う物ほど少ないコードで実装できる。
- 並列処理ができる。
- マルチスレッドのみならず、マルチフォーク^2もできる。
- Fiberをつかったコルーチンもできる。
Rubyを使わない理由はない。
もうわかったであろう。もはやRubyを使わない理由はない。あらゆる人のための言語、それがRubyである。
Python編も書こうと思ったけど、疲れたッス。誰か、書いてくんないッスかね?
技術ブログをはじめよう
Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
.qrunch.io
メールアドレスで登録する
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく
5件のコメント
個人的感想です。 Rubyは、記述の仕方もたいへん好きなんですが、環境のインストールの重さやマイナーバージョン間で動かなくなるアプリが激しいように感じます。 それと、巨大なのか、動作が他のスクリプトに比べると遅いようにも感じます。 二年ほど使ってないので、改善されているかもしれませんが私の印象でした。
コメント修正できないのか!
atoris1192 さん
私がRubyをさわり始めたのは1.6.0がリリースされたばっかりの頃で、当時に比べれば現在は爆速になっています。当時は、もう重すぎて重すぎて、本当に使い物にならかった…。2.6ではJITを搭載する予定など年々速度は向上しています。スクリプト言語はJavaScriptが(企業間競争の結果)頭一つ抜き出している印象ですが、それ以外は50歩100歩だと思いますよ。
Rubyでは1.8から1.9で大きな変更があり、互換性が崩れています。1.9が2.0の準備だったと言うこともあったのかも知れません。私自身は、1.9以降は動かないと聞くことはあまりありません。あるとしたら、gemでWindows用のバイナリが用意されていなかったことぐらいでしょうか(Cで書かれたライブラリはコンパイル前提なのでマイナーバージョン間でライブラリのバイナリに互換性がない)。
まぁ、本当の所、一度きりの書き捨てやプロトタイプ、ちょっとしたものぐらいに使うのがいいのかと思っています。膨大な情報を同時に高速に処理するとか言うのは全く向いていません。でも、そんなものが必要になる人ってどれぐらいいるんでしょうか?というのが私の思いです。
そのままpythonに置き換えてもほぼOKなので、モダンな言語であれば一つの言語で大体済む、というのがよくわかりました。
@hogemax さん
あまい、あまいっすよ。Pythonだと流行りのディープラーニングがおまけでついてくるっすよ。Rubyだとこの分野のライブラリがPythonに比べてどうしても…