PHP・⌒ ヾ(*´ー`) ポイ Rubyist is better than PHPer
Rubyist is better than PHPer、ルビー使いがペチパーより優れている理由を3つ上げます。
- PHPおよびPHPerはコードを書くのが嫌い
- PHPerは実はHTMLに毛が生えた程度しか使えない人が多い
- PHPは低級プログラマと過去の負債に引きずられる
Rubyとだけ比較してますが、Pythonと比較しても、Node.jsと比較しても別に良いでしょう。結果は一緒です。さぁPHPを投げ捨てよう!
PHPおよびPHPerはコードを書くのが嫌い
この根拠は、PHPがほかの言語に比べてPaaSで動きにくい、というのを根拠にしています。PaaSで動くためには、少なくても下記の条件を満たしている必要があります。
- DB Schemeをコードで管理している必要性(言語・フォーマット問わず)
- 必要なライブラリをコードで管理している必要性
- PHP言語やサーバのバージョンなど実行環境をコードで管理している必要性
DB Schemeはデータベースのテーブルやカラムをソースコードの変更に追従できるようソースコードで定義しておくものです。多くのPHPフレームワークではDBのスキーマ管理は標準ではありません。たとえば、Rubyではもう4年も前から標準です。いまだに本番環境のDBやエクセルwを見ないとわからなかったりすることもあたりまえです。
PHPはライブラリをComposerといったツールを使えばライブラリ管理出来ますが、これが標準になっているフレームワークはまだメジャーではありません。CakePHPもまだ標準搭載とまでは言えません。RubyでいうGemfileやRubyGemsみたいなものはまだ文化としてはないのです。いまだにみんなドキュメントに使うライブラリを書いたり、そもそもライブラリを使わなかったりするのです。
多くの言語では言語のバージョン指定などをどこかにコードとして記述します。RubyならGemfileだったり、.ruby-versionだったり。PHPはそんなことはないのです。
この3点から導き出される結論は、「ソフトウェアを動かすのに必要な情報をコードに書く文化がない」ということです。つまり、PHPおよびPHPerはコードを書くのが嫌いということです。
(コピペコードを書くのは好きかもしれませんね\(^o^)/
PHPerは実はHTMLに毛が生えた程度しか使えない人が多い
「PHP入門」って書いてある本、本屋さんでよく見かけますよね?Amazonでも。でもあれ、ほとんど「PHP言語」について書いてありませんよね。PHPでウェブサイトを作ることを目的としていて、1/3ぐらいしかPHP言語の仕様に触れてませんよね。
たとえば、RubyやPythonの入門書なら言語自体について書かれているものが多いです。なのに、PHPはWindowsにPHPをインストールするGUIインストーラのスクリーンショットから始まり、HTMLとCSSとPHPを使って現在時刻を表示とかメールを送信、あたりで終わったりしますよね。
あれでみんなPHPを勉強していると思うと。。。そして、そういう人でもまぁWordPressで仕事したり、普通にサイト作るお仕事ぐらいできたりすると考えると、「PHPerは実はHTMLに毛が生えた程度しか使えない人が多い」んじゃないかと思っちゃいますよね。
もう4年も前の本ですか、パーフェクトPHP。。。新版が出てないのがつらい。みんなPHP言語自体には興味ないのでは。。。?
PHPは低級プログラマと過去の負債に引きずられる
結局、人間は人と人のつながりで生きてます。「えー、言語仕様変わるのー、やだー」「え、急に私のプログラム、新しいサーバで動かなくなったんだけど、どうすればいいわけ!?」「PHPの書き方はずっとこうだったんだよ!もう何年も前からこうやって書いてるんだ。間違いなはずないだろ!」みたいな、人たちがいるプログラミング言語は、そういう人たちにどうしても引っ張られます。そういう人たちが多ければ多いほど、そういう人たち向けにフレームワークなども作られます。
もしそういう人たちを置いて行ったら、それはもう、PHPではなくなってしまうわけです。100人を犠牲にして10人が便利になる、ぐらいなら10人に留まってもらうのがPHPの世界だと思うのです。
さぁ、「cakephpを窓から投げ捨ててrailsを採用」しましょう!
※今までの時代を支えてくれた古いPHPとガンコ頭なPHPerに感謝と追悼を。