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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby

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

PHP

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

Q&A

解決済

6回答

754閲覧

phpよりruby?

eq_space

総合スコア38

Ruby

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

PHP

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

0グッド

6クリップ

投稿2017/11/13 15:49

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

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

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

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

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

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答6

0

###世界の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/13 22:25

編集2017/11/14 05:22
LLman

総合スコア5592

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2017/11/14 02:32

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

2017/11/14 02:40

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

2017/11/19 08:35

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

0

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

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

投稿2017/11/13 17:40

kawax

総合スコア10377

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

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

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

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

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

投稿2017/11/13 16:33

oskbt

総合スコア1895

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

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

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

投稿2017/11/13 16:29

編集2017/11/13 16:32
kaji

総合スコア648

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

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

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

投稿2017/11/13 16:03

編集2017/11/13 16:04
nnahito

総合スコア2004

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

eq_space

2017/11/28 15:00

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

0

ベストアンサー

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

投稿2017/11/14 02:26

yambejp

総合スコア114581

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問