Rubyはオープンソーステクノロジであり、オブジェクト指向型のスクリプト言語であることが特徴です。なんと日本発の言語となっています。
日本人のまつもとゆきひろ氏が1995年に誕生させました。
国際規格にも認定されている、優れたプログラミング言語です。
オブジェクト指向かつ、スクリプト言語であり、両方の魅力を見事に取り込んでいます。
Rubyの魅力
Rubyの魅力は、なんといっても可読性が高いことです。
Rubyは感覚的に理解できる言語であることが魅力です。
Perlに近く、Perlを意識して作られていますが、オブジェクト指向型であり、すべてのデータ型がオブジェクト指向であることが特徴です。
非常にわかりやすく、プログラミング初心者から上級者までを惹きつける言語であるRuby。
開発者が日本人であることもあり、日本での人気は非常に高いです。
Ruby on Railsの登場
プログラマーの中では知名度が高く、愛されていたRubyですが、商用利用にはいまいち普及していない部分がありました。
そんな状況を変えたのが、2005年にリリースされたアプリケーションフレームワーク、Ruby on Railsです。
MVCアーキテクチャによって構築されており、少ないコードで実装が可能です。
ModelとViewとController部分に分かれており、一度書いた定義を二度と繰り返さないなどの設計思想に基づいて構築されています。
Ruby on RailsはWebアプリケーションの分野で一気に広がり、他のフレームワークに多大なる影響を与えました。
これによりRubyを習得するエンジニアの数も爆発的に増加しました。
Rubyの文法的な魅力
Rubyは日本語に近い言語体系を持っています。そのため日本人プログラマにとっては非常に記述が楽なのです。
また、メソッドをコールする際に、カッコを省略できます。これもプログラマの負担を下げてくれます。
ローカル変数スコープもわかりやすく、メソッドにdo end をつけるだけで呼び出せます。
可読性が高く、ソースが美しいということは、そのまま生産性の向上に繋がります。
そして何よりオブジェクト指向型であることで、ある程度技能を持ったプログラマにはソースを再利用しやすく書きやすいのです。
プログラミングを楽しむために
(Photo by:Santa Cruz Public Libraries)
Rubyで書くと、プログラミングが楽しくなります。
プログラマにとってこれほど素晴らしいことはありません。
楽しくコーディングできること、これはかつてのどのような言語にもなかった思想です。
それゆえにRubyは愛され、使われ続けているのです。
実力の高いプログラマであるほど、Rubyを高く評価しているでしょう。
インターネットの発展を支えてきたのは、何よりこの「楽しさ」によって夢中になるエンジニアが牽引してきたのです。
Rubyの将来性
(Photo by:Tom)
Rubyは今現在のところ、有力なプログラミング言語ですのでマスターしておいて損はないでしょう。ただしWebの将来は誰にも予測できません。
新たな技術が登場してくる可能性は十分にあります。
10年前、誰がスマホの世界を予測できたでしょうか。
それと同様に、10年後に生き残っている技術を今から予測するのは困難です。
Rubyが将来性があるかはわかりませんが、Rubyを学ぶことで身につけられるスキルは膨大なものです。
実力がないと美しいソースは書けませんので、Rubyをマスターすることで可読性の高いコードを書けるようになります。
また、オブジェクト指向を身につけることで抽象的な概念やモデルを理解することができるようになるでしょう。
Rubyという言語そのものが廃れてしまっても、身につけた論理的かつ抽象的な思考力は後々まで力を発揮してくれます。
プログラミングの基礎体力をつけると言う点でも有効でしょう。
CがC++に、C++がJavaに進化してきたように、新しい言語にも古い技術の精神は生きているものです。突然無から新しいテクノロジーが生まれることは少なく、技術者も歴史を持った人間ですので、過去から未来を生み出しています。
ですので今現在、有力なツールであるRubyを習得しておくことは将来への備えになるでしょう。
現在の不足を補うために、不満を解消するために、新しいものは生まれるからです。
Perl,Python,PHPからRubyへ
スクリプトにシェルしかなく、不便を解決するために生まれたのがPerlです。
テキスト処理や正規表現に力を入れており、高速処理が可能になりました。
Perlは爆発的に普及したのです。
またインターネットが普及し、webサイトの構築が始まるとCGIが必要とされ、HTMLを出力するのにもPerlは強力な武器でした。
ですがスクリプト言語であるPerlにも弱点はあります。
コードがばらばらになり、また最初からHTMLを吐き出すように設計されていないため、print文などが冗長になりました。
それを解決したのがPythonです。
Perlよりキレイに、読みやすく。インデントをブロックすると言う独特のスタイルで、抜群にキレイなコードを書くことができるようになりました。
また、print文などでコードからHTMLを生成するのではなく、HTMLの中にコードを埋め込む。そういう発想で生まれたのがPHPです。
Apacheモジュールにmod_phpを組み込むことで早さも実現しました。
このように、メジャーな言語には歴史があるのです。
そしてさらに発展して、オブジェクト指向で書きたいと言う要望に応えたのがRubyです。
インストールによる不便
もはや上記の4言語のうちどれを選ぶかは自由です。
最新のMac OS Xには4つとも最初からインストールされていますので、環境面では変わりありません。
日本語ドキュメントの充実
実はRubyの根強い人気を支えているのには、日本語ドキュメントが非常に充実しているという点もあります。
日本発のプログラミング言語ですので、開発者も日本人ですし、愛好家は多いしで、数多くの日本語サポートが期待できます。
言語を扱う以上、英語のドキュメントは必須ですが、それでも日本語ドキュメントが充実しているのは心強いものです。
気軽なプログラミングに
たとえば、Macを使っていて電源の管理が不安だったりするときなどに、Rubyを使って気軽に電源管理アプリを開発することができます。
自分自身の個人的な不便を解消するのに使ってもいいですし、それを世界的に配信してマネタイズしてもいいでしょう。
またTwitterなどのサービスから連携するサービスなどを開発することもできます。導入は気軽に行うことができ、プログラミング初心者にも手を出しやすい言語です。個人でwebサービスを展開し、マネタイズすることが可能な時代になりました。可能性は個々人に拓かれています。
プログラミング言語をマスターすると言うことは、インターネットの大海原に乗り出すと言うことでもあり、自由を得られるチャンスでもあるということです。遊びで気軽にプログラミングしてもいいですし、有力なサービスを作って市場にアピールするのもいいでしょう。
また多くのプログラミング会社で評価してもらえる言語ですので、就職先も広がります。文系の学生でも子供でも気軽にチャレンジすることができます。
ビジネスの展望
ビジネスの世界で大規模サイトの事例があります。とても有名な事例として2つご紹介します。
Ruby開発事例:あのクックパッドが採用
開発事例として最もメジャーなサイトのひとつに、クックパッドがあります。世界有数の巨大サイトであり、Ruby on Railsで構築されています。Ruby on Railsが遅い、という指摘があるたびに、事例として出されるメジャーなサイトでもあります。
サイトの成功は、開発言語には依存しないでしょうが、それでもバックエンドでどのような言語が採用されているかは、開発チームがどの言語を選択するかにも依存します。クックパッドはRuby on Railsの採用によって、少数精鋭で短期工程でのサイト構築に成功しました。Rubyの開発事例としてもっともメジャーなサイトのひとつといえるでしょう。
Ruby開発事例:世界最大のソーシャルネットワーク、Twitter
おそらく世界最大のRubyによる開発サイトといえば、Twitterでしょう。
初期のTwitterはRuby on Railsで開発されています。これだけのトラフィックを持つ巨大サイトに対応できるRuby on Railsの強力さを見事に証明してくれています。ちなみに現在では、アメリカ大統領選挙への対応をきっかけに、TwitterはJavaに開発を変更しています。
Twitterやクックパッドの事例でわかるとおり、とてつもない巨大サイトにも対応できるのがRubyとRuby on Railsです。ビジネスの成功と開発言語は直接関係はありませんが、生産性や可読性、仲間とのコミュニケーション、何よりも開発のスピードを加速させることができるのがRubyです。
個人でつくるアプリケーションでも、世界的な巨大サイトでも構築できますので、可能性は無限に広がるでしょう。何かやってみたいサービスがあれば、Rubyで気軽に実装することができます。多言語のように細部まで作りこまなくとも、プロトタイプをすばやく実装できます。
(Photo by:Yoann Grange)
アメリカのスタートアップ業界では、サービスが細部まで完成していなくとも、大まかに出来上がった時点で巨額の資金調達するケースがほとんどです。ある程度完成させて、資金調達してから前へ進むのです。
ここからわかるように、今後のインターネットビジネス業界で大切なのは、頭の中に描いたプランをいち早く実現できるスピードです。こだわって作りこむよりも、思いを形にすることが需要なのです。Rubyならばそれが可能になるでしょう。
本ブログは、Git / Subversion のクラウド型ホスティングサービス「tracpath(トラックパス)」を提供している株式会社オープングルーヴが運営しています。
開発の効率化をしたい!もっと便利なツールを使いたい!そんなお悩みをtracpathで解決!
「tracpath(トラックパス)」は、企業内の情報システム部門や、ソフトウェア開発・アプリケーション開発チームに対して、開発の効率化を支援し、品質向上を実現します。
さらに、システム運用の効率化・自動化支援サービスも提供しています。
”つくる情熱を支えるサービス”を提供し、まるで専属のインフラエンジニアのように、あなたのチームを支えていきます。
No Comments