質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

91.02%

  • PHP

    17739questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • Ruby

    6364questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

phpよりruby?

解決済

回答 6

投稿

  • 評価
  • クリップ 5
  • VIEW 1,375

eq_space

score 13

たぶんこういった質問は過去にもたくさん出てるのでググれという話なんですが笑
ご質問させていただきます。

世の中にある代表的なサービスはだいたいrubyでできているような気がするのですが気のせいでしょうか?笑

https://code-schools.com/railsservice/

一方でphpはfacebookくらいなのかなと(軽くググった程度ですが)
他に何かあるでしょうか?

ただ、phpはワードプレスで動くのでそれは大きいですよね。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • 退会済みユーザー

    2017/11/14 13:21

    複数のユーザーから「プログラミングに関係のない質問」という意見がありました
    teratailでは、プログラミングに関して困っていることがないと思われる質問を推奨していません。
    「質問を編集する」ボタンから編集を行い、具体的に困っている理由や解決したいことを明確に記入していただくと、回答が得られやすくなります。

回答 6

+22

世界のWebはPHPが8割、WordPressが3割

「W3Tecs」サービスの統計調査(上記リンク)によると、
世界のWebサイトのうち、約8割がPHP、 約3割がWordPressを使用している、という推計になります。

今回のテーマとなっている、言語の利用比率を抜粋しましょう。

  • PHP: 83.0%
  • ASP.NET: 14.2%
  • Java: 2.5%
  • Ruby: 0.5%
  • JavaScript: 0.4%
  • Perl: 0.3%
  • Python: 0.2%

なおScalaなど、その他の言語は0.1%(以下)です。

さてみなさん、この調査結果には、
違和感があるでしょうから、説明していきます。

以下、W3Tecsの見解ではなく、私の解釈になります。
なお、違和感を減らすために丁寧に説明して、
非常に長文になってしまったことはご容赦ください。


なぜ、他言語がこんなに少ないのか?

「TIOBE Index」など、プログラミング言語の他の人気ランキングでは、
Java、JavaScript、Python、C/C++、C#などが上位で、
PHPを上回っていることが多いです。だから違和感を覚えるでしょう。

しかしまず、大前提として、W3Tecsの調査対象はWebサイトです。
AndroidではJavaが多いでしょうし、PCアプリではC系言語が多いでしょう。
逆に、PHPはWebに特化しており、スマホやPCでのシェアはほぼないでしょう。

Web限定にしても、ASP.NETが14%はいいとして、
Javaが少なすぎると感じられるかもしれません。
日本での開発案件の求人はJavaが多いので、
それとのギャップはどうしたものでしょうか。

これは、Javaが大規模開発向け言語のため、
Javaの案件は100人で作るものが10件、
PHPの案件は10人で作るものが100件、みたいな感じで、
件数が少なくても人員が多いんだと思います。

次に、JavaScriptが少なすぎるのは、
サーバサイド言語の調査であって、クライアントではないからです。
また、Node.jsは話題になりましたが、あまり普及していないようです。

クライアントサイドの言語なら、FlashからHTML5に移行した今では、
JavaScriptが圧倒的に一番でしょう。これには異論ないと思います。

質問の題にあるので、Ruby(Rails)が少ない理由も考えましょう。
Twitterのような有名サイトで使われていたことはどう考えるか。

これは、逆に無名サイトではPHPが多くて、数の上では大多数なんだと思います。
小規模や個人開発では、やはりPHPの方が便利なのでしょう。
便利なのは、安いレンタルサーバで使えるのはPHPが多いからです。

また、Rubyは国産言語なので、日本でのシェアが多いです。
よって日本での案件や求人も多い。
冒頭の調査データは国際的なものなので、そこに差があります。


開発言語の不都合な真実

それにしても、RailsやNode.jsがあるのに、
PHPと100倍以上差が開いているというのは、
まだ違和感が残るかもしれません。

もしかしたら、調査方法の穴などがあるかもしれません。
私も懐疑的な部分がないわけでもありません。
ただ、ここでは、調査結果を前提に推測します。

おそらく、RailsやNode.jsの利用者は、
ネットでの情報発信量が多いんだと思います。
逆に、PHPの利用者は無言で使う人が多い。

言語の人気ランキングの多くが、
検索などのデータを使っているから、
実際の利用数と差が付くわけです。

存在感と実際の数が違うのは、一般的によくあることです。
たとえば、ベンツやフェラーリに乗ってる人は少ないが、
話題にはなるとか、そういうことです。

あるいは、郵便配達や、ラーメンやそばの出前などで、
(スーパー)カブという原付自転車が使われているのを
見たことがあると思います。ああいうのも、
普段気に留めないけどシェアが多いものの例です。

ここで、バイクと違って、プログラミング言語は
何を使っているかが外から見えにくく、
ネットの発言量と実際の利用量と、可視化される部分が
極端に偏っているから、実感と大きくズレるのだと思います。

ここに落とし穴があります。
エンジニアは、流行の言語やフレームワークに飛びつきやすい。
自分が人より優秀だと示したい動機があるからです。
そして、その声が非常に大きくなり、実態から解離します。

しかし、それはカルチャーやファッションであって、
エンジニアリングではありません。

問題を解決するのがエンジニアリングです。
何らかの問題や目的があっての手段ですから、
適切な手段の使い分けがあるだけです。
銀の弾丸はなく、適材適所に尽きます。

郵便配達やラーメンやそばの出前で使うのを、
ハーレーやベンツにしても、ビジネスに関係ないのは自明です。
そういう意味で、PHPは非常にコスパの良い大衆言語です。


開発言語はシェアだけで選ぶべきか?

しかし、シェアの多さだけで選べ、というつもりもありません。

ふたたび車でたとえると、シェアが多いわけでもないでしょうが、
雪が降る地域では、たとえ燃費が悪くても四輪駆動の自動車が使われるし、
レッカー車やクレーン車のような特殊車両も目的によっては使うわけです。

目的に沿うのであれば、むしろシェアの少なさに恐れず、
マイナーであっても使ってください。

その視点から、むしろなぜ、PHP以外の言語(とFW)は、
シェアが少なくても使われているのか、注目しましょう。

たとえばNode.jsは、非同期のノンブロッキングIOによって、
C10K問題を解決するという目的があります。一言でいうと、
大量のアクセスが集中しても、パフォーマンスが落ちないのです。

(Ruby on)Railsはどうでしょうか。
Railsが使われるのは、開発効率が高いからです。
なぜRailsの効率が高いかというと、
Rubyという言語の特性を活かしているからです。
たとえば、メタプログラミングを駆使しています。

もし、ブログのように決まり切ったものなら、
PHP、というかWordPressの方が早くて手軽だし、
あるいは、早さよりも長期運用や安定性が前提なら、
JavaやScala、静的な関数型言語のような、堅めの言語が向きます。

しかし、Rubyは、他と差別化したものを早い期間で作りやすい。
じっさいたとえば、静的ジェネレータなら、まずJekyllが出てきて、
そのあと、より実行が高速な他言語で書き直されています。
Twitterにしても、Rubyで書かれた後、ScalaやNode.jsで書き直される。

そうなるのはある意味当然の結果で、そもそも、Rubyが影響を受けた
PerlやSmalltalkやLispからして、プロトタイピングに向いていたからです。
なぜ向くかと言えば、それらは動的言語ですが、
そもそもプロトタイピングが、動的に変更されるものだからです。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/11/14 11:32

    Q&Aの回答としてはもったいないくらいよく考察されていますね

    キャンセル

  • 2017/11/14 11:40

    ありがとうございます。せっかくなので、後でQiitaとかブログとかに書いて使い回します(笑)。

    キャンセル

  • 2017/11/19 17:35

    返信遅くなってすみませんm(_ _)m
    とてもすばらしい回答ありがとうございます!
    たしかに自分がウェブばかりの方しか見てなかったですけど実際アプリとかphpとかrubyは使われてませんね笑
    自分はとりあえずphpから学ぼうかなと思っています=

    キャンセル

+5

フリーランス視点から見たphperの意見ですが、
phpから他言語(ruby, python, go)への移行が進んでいるイメージです。
phpはframeworkがたくさんあるが、rubyはrails一択なので、
今後のエンジニアの確保のしやすさや開発スピードなどを考慮した結果だと思います。
laravelやるんだったらエンジニアが多いrailsを採用な感じ。
10数年先を見据えれば、phpもrubyも嫌われ言語なので将来的にはどちらも無くなり
goやpythonあたりになりそうな気はしてます。

https://japan.zdnet.com/article/35109803/

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+5

世の中にある代表的なサービスはだいたいrubyでできているような気がするのですが気のせいでしょうか?笑 

多いことは多いですが、だいたいって言うほどでもないように思います。
世の中のWEBサービスは結構いろんな言語が使われていますよ。
https://matome.naver.jp/odai/2147858654835346401?&page=1

最近のWEBサービスのライフサイクルに、スタートアップ時はrails(ruby)で作って、それなりにうまく発展してきたら効率的な処理が必要になってくるので、別の速い言語に変更していくみたいな流れがあります。
世の中のニーズのタイミングを逃さないために開発速度が最も求められている現場にはrubyが人気みたいです。
早さのruby!(※速さではない)

別に開発速度が最重要じゃないしってところは、それぞれの事情で他の言語を使うわけですね。
もちろん、開発チームのスキルによっては、rubyが一番早いってわけでもなくなりますので、開発速度優先でもrubyじゃないところもごまんとあります。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+4

Railsは一昔前の流行りなので…。
10年前のTwitterみたいに。
流行ってるからで飛びついたもののRailsのバージョンアップもできないまま動いてるサイトも多い。
そういう会社/人は結局は何使っても同じ。

FacebookはPHP自体をハックしてXHP作ってそれを元にしたReactが世界を変えた後の時代にRubyだPHPだとかの話をされてもな…。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+3

おっしゃる通りfacebook、
メルカリのバックエンド、
アンテナのバックエンドなどなどたくさんありますよ。

rubyが流行ってるかというと……ケースバイケースですよね。
使い所です。
rubyの良さは個人的にはわかりませんが……

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/11/29 00:00

    メルカリのバックエンドに使われてたんですね
    それはいいですね!

    キャンセル

checkベストアンサー

+1

人気プログラミング トップ15 でPHPがRubyに負けているのをみてちょっとショックでしたが
RubyもPythonに負けているし結局TOPがjavascriptなのでまぁそんなものかと・・・

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 91.02%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • PHP

    17739questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • Ruby

    6364questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。