【超初心者向け】大まかにRubyとPHPを比較してみる

ruby php 比較
  • このエントリーをはてなブックマークに追加
  • Pocket

RubyもPHPもWebアプリケーションを作るとき使われる人気の言語だ。

「簡単な言語」というイメージも共通していて、開発や勉強でどちらを選ぶかを悩む人も多い。

このページではRubyとPHPを比較していく。難しい部分には踏み込まず、初心者の方が全体感をわかるようにイメージした。

RubyかPHPかで悩んでいる方には参考になるだろう。

RubyとPHPの比較

このページでとりあげるRubyとPHP、この2言語の主戦場はWebだ。

Webアプリケーションでもどんなアプリを開発したいのか、その辺を念頭に置きながら読み進めてほしい。

Webアプリケーションを作るとなったときにRubyでもPHPでも大抵のものはまず問題なく作れる。

とは言え「餅は餅屋」で、プログラミング言語にはそれぞれ向き不向きがある。

【PHPとRuby】生誕とブレイクのきっかけ

PHP

php

1995年に公開された。比較的新しい言語だ。

もともとはホームページを作るための言語で、PHPはPersonal Home Pageの略だ。名前の通り、ホームページを便利に作るために生まれた。

徐々に人気を集めていき、進化をしていき、Webアプリケーションの開発に特化した言語と進化して、今でも高い人気のあるプログラミング言語だ。

PHPのブレイクのきっかけの1つは、インターネットの隆盛によるものが大きい。

Webアプリケーション開発の需要が高まり、それまではCGI(Perl)がWebアプリケーションの開発は担っていが、もっと簡単に高機能なアプリケーションが開発できるPHPがすごい勢いでそのシェアを奪っていった。

PHPとPerlの比較

そして今や、PHPはWebアプリケーション開発のスタンダードな言語の1つとなった。

Ruby

ruby

RubyもPHPと同じ1995年に公開された。日本人である、まつもとゆきひろ氏によって開発されたオブジェクト指向スクリプト言語だ。

日本人が開発したプログラミング言語自体は他にもあるが、日の目を見て、今でも人気があるのはRubyしかない。

Rubyはなんといっても、Ruby on Railsの登場で、一躍Webアプリケーション開発の業界に踊り出た。

この革新的なフレームワークによって、どんどんWebアプリケーション開発のコストが下がっていったのだ。

スタートアップやベンチャー企業では、PHPの経験よりもRubyの経験を重視するところも出てきている。

【PHPとRuby】有名なサービス開発事例

どちらも十分すぎるほどの実績がある。

PHP

facebook-new

世界的なSNSである「FaceBook」もかつてPHPで開発されていた。今はFaceBook社がPHPを独自に拡張、開発した言語によって開発、運用がされており、今も引き続きPHPが使われていると言ってよいだろう。

その他には、グルメの口コミサイトである「ぐるなび」や、家探しで有名な「Home's」、検索ポータルサイトとして有名な「Yahoo!」もPHPで開発されている。

Ruby

github

プレゼンテーションファイルをシェアする「SlideShare」や料理レシピサイトの「COOKPAD」、プログラミングコードのホスティングサービスである「GitHub」などもRuby、細かくいうとRuby on Railsによって開発されている。

またレストラン検索ポータルの食べログも同様にRubyによって構築されている。

【PHPとRuby】言語の思想

プログラミング言語には、開発者の思想がある。その思想を叶えるためにプログラミング言語は生まれていると言っていい。

ここではその思想について見ていこう。

PHP

website

元々はRasmus Lerdorfがオンラインで公開していた履歴書へのアクセス履歴を調査するために開発を始めたと言われている。

だから当初は、「Personal Home Page Tools」という名称だった。

つまり、本当に簡易的なツールとして誕生し、その後、人気がでるにつれて、改良が繰り返されていき、支持を盤石のものとしていった。

C言語 の構文に似せて作られ、C言語 や Perl などを知っている人たちが移行しやすいように作られたというエピソードもある。

とにかく「簡単」「Web」というのがPHPの基本的な考え方だ。

Ruby

stress-free

開発者のまつもとゆきひろ氏は、「Rubyの言語仕様において最も重視しているのは、ストレスなくプログラミングを楽しむこと」と言っている。

Perlを代替可能であることも重要な設計思想として取り入れたが、Perlのようにある機能を実現するのに色々な方法で行うことを推奨せず、なるべく同一の書き方で同一の目的を達成できるような言語仕様となっている。

開発をグループで実施した場合、これらの特徴は非常に役立つ。Railsというフレームワークごと、そのような思想で、ブレなく開発が進められるメリットは大きい。

【PHPとRuby】人気比較

プログラミング言語の人気を比較したデータは色々種類があるが、PHPとRubyの位置関係はだいたい変わらない。

TIOBE

http://www.tiobe.com/tiobe_index

TIOBE Software社によると言語ランキングは次のようになっている。

1位 Java
2位 C
3位 C++
4位 C#
5位 Python
6位 PHP
7位 JavaScript
8位 Ruby
9位 Perl
10位 Visual Basic .NET 
11位 Delphi/Object Pascal 
12位  Assembly language
13位  Visual Basic
14位 Objective-C 
15位 Swift 

見ての通り、PHPが6位、Rubyが8位となっている。

他のランキングでPHPが3位だったら、Rubyは5位くらいのランキングになっており、だいたいこのような位置関係だ。

プログラミング言語の人気は、時勢もあるし、他の言語との兼ね合いもある。そのため、このデータに固執する必要はないが、知っておいておいたほうがいいデータだ。

人気が高いほど、仕事の数も多く、また勉強に使えるドキュメント類も多い。

一説には、PHPプログラマは国内に20万もいると言われ、今もなお求人数は圧倒的な高さを誇っている。

いっぽう、Rubyの求人数は急速に増加していて、大手ウェブサービスでの実績も増えてきている。

一般的な印象としては、PHPはプログラミング初心者でもとっつきやすいのと、アプリケーションを開発するための近道となるライブラリが充実しているため、最初の選択肢として採用されるケースが多い。

一方、Rubyはオブジェクト指向やプログラマのストレスをなくす為に開発されたこともあり、どちらかというと、多少なりともプログラミングを知っている人からの興味を集めることが多い。

PHPならではの特徴

PHPはなんといっても、その「とっつきやすさ」にある。プログラミング初心者ならば大体のケースで、PHPがオススメとなる。

要は学習コストが低いのだ。

また、PHPは世の中にあるほとんどのレンタルサーバーがサポートしているため、スクリプトさえUPすれば、動かすことができる。

これはまだサーバー構築スキルの無い初心者にとっては、大きなメリットだ。

PHPはすでにWebアプリケーション開発のデファクトスタンダードとしての地位を確立してから久しいため、就職するにしても、学ぶにしても、たくさんのチャンスがある。

PHPには、RubyでいうところのRuby on Railsのようなほぼ一択のフレームワークが存在しない代わりに、色々な個性をもったフレームワークがたくさんある。

たとえば、日本国内で一番ユーザーが多いと言われる「CakePHP」や、アプリケーションの応答スピードが早いといわれる「Phalcon」、最近支持をあげている「Laravel」など、栄枯盛衰の繰り返しをしながら、実に個性豊かなフレームワークがたくさんある。

PHPを学びそれなりにプログラミングが出来るようなったら、次の段階であるフレームワークを利用した開発の際にも、たくさんの選択肢がある。

Rubyならではの特徴

RubyはとにかくチームでひとつのWebアプリケーションをなるべく早く作りたいときに強い。

PHPは柔らかすぎるため、適当に書いても動いてしまうという短所(長所)がある。個人ならともかく、チームで適当に開発を行うと、バグが頻発する。

RubyはPHPよりも硬い。そういう意味で安心のプログラミング言語だ。

またRubyにはWebアプリケーションに特化した言語ではないため、かつてPerlが担っていた高度な文字列操作などもRubyでも行うことが出来る。

そして、なんといっても、RubyにはRuby on Railsがある。Ruby on Railsの存在なしではRubyを語ることは出来ない。

Ruby on Rails

実アプリケーションの開発の雛形を予め備えた仕組みのことで、結果的にプログラミング量を減らしながらも、品質や機能の実現を行えるものを総称してフレームワークと呼ぶ。

Ruby on RailsはRubyプログラミング言語に対応したフレームワークだ。画期的だったのは「同じことを繰り返さない」、「設定より規約」といった思想のもとに開発されたフレームワークということだ。

これまでも、プログラミング言語にはそれぞれのフレームワークが存在していたが、主流だったのは、設定ファイルに事細かにアプリケーションの定義を記載していくものだった。

これは保守性や開発効率を考えると、影響範囲の特定などにコストをとられることになり、あまり思わしくない面もあった。

それを予め決めておいた規約のとおりに、コーディングすることにより設定する項目を劇的に減らすことに成功したのだ。

この思想は、PHPで支持を集めている「CakePHP」「Laravel」といったフレームワークにも取り込まれている。

ともかくRubyはRuby on Railsの登場により、本格的に実務としてのアプリケーション開発のプログラミング言語として一般に広く認知されることとなった。

まとめ

RubyとPHPを大まかに比較してきた。結論的には、次の通り選択するといいだろう。

  • とにかくWebアプリケーションを作ってみたい。初心者から!という方はPHPを選ぶ
  • プログラミングは多少わかっていて、大人数で早くWebアプリケーションを完成させたいという方はRubyを選ぶ

PHPで大人数アプリケーションを作ることは頻繁どころではなくあるし、Rubyも比較的簡単で初心者向けの言語だ。しかし、無理やりわかりやすくわけるとこのような形だろう。

ぜひ、興味が出たらいずれかの言語で勉強をスタートしてみてほしい。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できます。

IT講師に興味はありませんか?

・「今までIT講師をやってきたが、更に多くの講義を行いたい」

・「エンジニアとしてやってきたが講師業に魅力を感じている」

・「講師として活躍するためにベースとなる知識を知りたい」

・「様々な分野や言語の講師にチャレンジしてみたい」


という方はぜひIT講師募集のページをご覧ください。


リスキルテクノロジーでは「受講している方々にITを好きになってもらう」ことを目標に、同じ目標に向かって歩んで行ける講師の方を常に探しています。


システム開発やインフラ構築などのエンジニアリング経験を活かし、新入社員などの未経験者や経験の浅い初学者の方々に対してITトレーニングを行っていただくことになります。


テキストやカリキュラムは事前に用意されており、それらを元に講義を進めていくため、IT講師をはじめて実施する方でも安心してトレーニングを実施できます。


IT講師募集のページを見る

SNSでもご購読できます。

コメント

  1. 通りすがり より:

    記事投稿の1年ほど前に知った情報ですが、カカクコム社がRubyを使っているサービスは食べログの方で価格.comは違った(かと言ってPHPでもない)と思います。

    1. リカレントテクノロジー より:

      ありがとうございます。こちら修正いたします。

  2. gkrsnama より:

    仕事で使うBotプログラムを作ってやろうと、最初Javaで始めたんですが、WEBサーバにもDBにも到達せず撃沈。で、PHPに転向しています。いきなりApatchにMySQLが自分のPCにセットアップされて仰天しています。

    JavaとかVBとかやってきた初心者として、PHPの変数や配列の扱いは「大丈夫かな?これ」と思うのです。例えば、本一冊分のテキストを一文字づつ又は一単語づつ配列に読み込ませて、処理するなんてできますか?そういうのはさっさとデータベースに渡してしまうって設計ですか?

    1. リカレントテクノロジー より:

      ご愛読いただきありががとうございます。
      設計により、一概には言えませんが、
      是非、PHPを駆使してお試しいただけますと幸いです。
      (基本的には、処理速度云々として可能です。)

  3. 通りすがり より:

    PHPは「Hypertext Preprocessor を再帰的に略したもの」ですよ。
    公式リファレンスにそう書かれています。

    「PHP とはなんでしょう? 」
    http://php.net/manual/ja/intro-whatis.php

    1. リカレントテクノロジー より:

      いつもご愛読いただきありががとうございます。
      また、ご指摘いただきありががとうございます。

      PHPが開発された当初は「Personal Home Page」でした。
      そして現在は大きなバージョンアップを経て、
      「通りすがり様」の仰るとおりの「Hypertext Preprocessor」となりました。
      (PHP3から呼ばれるようになりました。)

コメントを残す

*

未経験からの育成制度も充実
IT講師に興味はありませんか?

リスキルテクノロジーでIT講師の積極募集を開始! 経験・未経験問わずご応募可能。育成制度で講師スキル向上も目指せます

IT講師に応募する