結論から言うと、Webサービスで大規模になる可能性があり開発資源が潤沢にある場合はPython、個人やスタートアップの小企業が小さく速く始めたいならPHP、Webにする必要がなく計算やローカルPCでスクリプトに使うならPythonでしょうか。
スクリプト言語なんてみんな同じだと思っていませんでしたか?そうでもないですか?私は結構そう思っていました。今回、自分のプロジェクトをスクリプト言語で開発をやりたいと思ったので、Ruby、Python、PHPをそれぞれ20−30時間ずつ触って検証して見ました。ヒマですね。。というツッコミは置いておいて、ファーストインプレッションではありますが、自分ごとですので結構一生懸命評価してみました。
確かに、スクリプト言語の言語仕様だけ比べたらそれほど差はないのかもしれません。
でも、ローカルPCで使う場合にはライブラリの揃い具合で、それぞれの言語は全然違います。Webサービスも実際の開発にはフレームワークを使うので、どんなフレームワークがあるか、どのフレームワークを使いたいかで、選ぶべき言語は全然違います
Ruby
まず、Rubyは外しました。理由は、日本では人気がある言語ですが、世界的にはどちらかと言うとマイナー言語だからです。Googleの検索件数などの情報を見ても、世界的にはPythonやPHPの方が多いです。多分、使われている分量は5-7倍は違っていると思います。
Worldwide, Jan 2017 compared to a year ago:
Rank
Change Language Share Trend
1 Java 23.1 % -0.9 %
2 Python 14.4 % +2.7 %
3 PHP 9.7 % -1.0 %
4 C# 8.4 % -0.1 %
5 Javascript 7.7 % +0.5 %
6 C 7.1 % -0.3 %
7 C++ 7.0 % -0.6 %
8 Objective-C 4.4 % -0.6 %
9 R 3.4 % +0.5 %
10 Swift 3.0 % +0.1 %
11 Matlab 2.6 % -0.3 %
12 Ruby 2.1 % -0.1 %
13 Visual Basic 1.5 % -0.2 %
14 VBA 1.5 % +0.0 %
15 Scala 1.2 % +0.4 %
16 Perl 0.9 % -0.1 %
17 lua 0.5 % +0.0 %
18 Go 0.5 % +0.2 %
19 Delphi 0.4 % -0.1 %
20 Haskell 0.3 % +0.0 %
21 Rust 0.3 % +0.0 %
使われる量が多いと言うことには理由があるはずです。多くの人や会社が選択して自分のお金や時間を使っていると言うことですから、使われる量が多いと言うことはやっぱりその言語がいいと言うことなのです。そしてPythonが人気があるのには理由があります。コードの記述の仕方に工夫があり、インデントの仕方がプログラムの記述の仕方の一部になっています。インデントが正しくされないと、ForやIfのロジックが正しく動かないようになっているので、コードは誰が書いても必然的に見やすくなるようになっています。
PHPが人気があるのは、やはりWebサービスが作りやすいからでしょうか。
もう一つ、Rubyを避けた理由はRailsが便利すぎるのです。裏のロジックがどうなっているのかよくわからなくても、コマンド1本で新規登録、更新、削除、一覧表示などのページ(CRUD)が簡単にできてしまいます。モデルに変更があった場合の、データベースの変更があった場合もコマンド一本です。あまりに便利すぎて、心配になってしまいます。プログラミングでは、開発の際に様々な状況があるので、どこかでパターンにはまらない場合が出てきます。その時にはやはりエラーが出てくると思うのですが、railsが便利すぎてブラックボックスになるのが怖かったのです。
Pythonのいいところ、悪いところ
Pythonは書いていて、気持ちがいいです。さすが世界で人気がある言語です。ライブラリも最近流行りの機械学習のも含めて色々あるし、やはり幅があります。画像から文字を読んだりと色々と賢いライブラリがあるようです。
Pythonの弱点は、まずWebサービスを作る際のフレームワークであるDjangoの情報が日本語では少ないことです。また、Djangoはコマンド一本でCRUDのページを色々作ってくれるなどの機能がなさそうなので、開発に時間がかかります。新規登録や更新、一覧のページを一々作らなくては行けなさそうなので、個人や小さい会社がさっとWebサービスを作って公開したい場合には、ちょっと時間がかかりそうです。それでも、DropboxやPinterestの例を出すまでもなく、アメリカの大規模なサービスでもPythonを作っています。UIの部分を簡単に作ってくれる機能がないと言うだけで、じっくりと作るれる頭数がいるのであれば、やはりパイソンは良さそうです。
PHP
バランスが取れていていいと思います。
まず、Webサービスを作るためのフレームワークが整っていて、しかも情報が日本語でちゃんとあります。PythonのDjangoのようにデータベースとの接続のことを調べても全然情報が出てこないのと違い、日本で売っている本にきちんと色々書いてあります。CakePHPなんかは、新規や変更、削除やリストなどのページを自動で作ってくれるスキャフォールディング機能もあります。
PHPはオブジェクトの中のメソッドなどを指す時に、ドット(.)ではなく、矢じるし(->)が好きでなかったのでなんとなく食わず嫌いだったのですが浅はかでした。