最近、愚痴っぽくて自分でも嫌になります。
業務でPHPが一番多く使う言語なのですが、
少し前までなんというクソ言語…
と思っていました。
PHPなんて敷居の低いお手軽言語使うからクソみたいなソース書く奴が出てくるんだよ。
Javaで良いじゃんJavaで。
みたいな。
でも、それは間違いだと思うようになりました。
何が間違っていたと思うかというと、
PHPが敷居の低いお手軽言語であるという認識です。
PHPやその他RubyやPythonといったLL言語がなんのためにあるのか?
確かに、「簡単に扱える」「制約が少なくて柔軟」というのは最大の特徴であり、利点です。
ですが、それらは敷居の低いお手軽言語としての特徴ではなく、
より人間の思考に直結したプログラムを書くための言語であると思うのです。
例えば、よく槍玉に挙げられる「変数の型宣言が無い」
という点について、
「変数の型を意識してプログラミングしなくてはならない」とか、
「接頭語に型名をつけよう」というのは間違いだと思うのです。
普段、物事を考える時に先に型を意識しますか?
しないですよね?
商品.金額といったら当然数値で、
商品.名前といったら当然文字列である。
それは、意識するまでもなく自然と理解して扱っているわけです。
PHPやその他のLL言語はそうやって、
パッと見てすぐ理解できる自然なオブジェクト指向で書くべきだと思うのです。
まあだからといってPHPを別に好んで使いたくはならないんですけどねw
だって、上記を一番体現しているのは、
ちゃんと使ったことが無いのであくまでなんとなくですが、
Ruby辺りだと思うのでw
でも、PHPも最近変わってきたみたいで、
他言語の良い所を積極的に取り入れる感じになってきてたり、
ソース管理がGitになってたり、
ファイル配布がAmazon S3になってたりして、
なんか変革が起きてるっぽいのでちょっと期待しています。