Do You PHP はてブロ

Do You PHPはてなからはてブロに移動しました

「中級者の自分が、PHPとかプログラミングに対して思ってること」に回答してみる

via. http://webbingstudio.blog10.fc2.com/blog-entry-564.htmlPHPに関して1つだけ言っとくとすれば - iakioの日記感想書くまでが勉強会ということで書く - bobchinの日記自分なりに - WebProgを極めて居酒屋を開発する

第1回 LOCAL PHP部 (aka PHP北海道) のつどいに参加していないけど、回答書いてみますよ、と。

そもそも、PHPは何がどう「駄目な言語」なのか

やはり「気持ちよく書けない(言語仕様)」ということになるんでしょうかねぇ。感覚的にこう書きたいけど書けないというか、回りくどく書かなきゃいけないというか。まあ、それに慣れてしまってるので、あまり目くじらたてたりしませんが、たまに思います。

問題がある関数とはどれのことを指すのか

バージョン毎に挙動(動作とか引数とか戻り値とか)が変わる関数とかの話ですかね?これもまあ「そんなもんだ」と思っていれば。
「セキュリティ的にやばい」のはかなり潰されているはずですし、「サーバー的にやばい」(負荷とかの話?)のはアルゴリズムとかの使い方を間違える方がよっぽどやばいと思います。

PHP演算子が何種類もあるのだが

あー。ありますねー。でも、決まったものしか使ってません。
個人的には「&&」「||」派です。「AND」「OR」は使いません。あと三項演算子は結構使います。等号は「===」ですかね。変数の型を意識したいので。

なんでPHP以外の言語のアプリケーションは普及しないのか

多分、Webアプリ&LLに限定した話なんだとおもうのでこれに限定して書くと、

  • 動作する「環境」の入手のしやすさ
  • 流行に乗ったキラーアプリがある(BlogものとかSNSものとか)
  • こういった環境/アプリを使おうとするユーザーの数(初級者含め)

があり、かつ、PHPアプリがある一定の市場を押さえてしまっているので、他の言語のキラーアプリでも簡単にPHPのシェアを奪い取れない、というのが現状でしょう。逆に、PHPが不得意な分野のアプリでは、PHPのアプリはほとんどないと思います。PerlPythonなどが多いですね。

コマンドラインを使うのはどうしてなんだろう

個人的には「自分が何をしようとしている/やっているか分かる」のが大きいですかね。ある種の安心感というか。あとは慣れでしょうか。GUIの「裏で何やらかしてくれてんのか分からん」というのが嫌いなだけとも。まあ、コマンドラインでも「裏で〜」は同じなんですけどねw

変数名やオブジェクト名はどうやってつけたらいいんだろう

難しいですねー。
個人的には「文章として読めるプログラム」が理想の1つで、それを実現するためのネーミングだと思ってます。今のところは、英単語を素直に繋げて省略しないようにすることが多いです。お陰で、クラス名が長くなったりしますが。
ちなみに、「〜Manager」という名前は好きじゃないので、あまり使いませんw

どの言語でも、デザイナーにフレンドリーなHTMLは出力できるのか

これは他のトラックバックされている方も書いてますが、「プログラムの出力結果」を「デザイナーにフレンドリーなHTML」にするかどうかだけなので、言語に依りません。逆に「デザイナーにフレンドリーなHTML」をプログラマが学ぶべきと思います(自分を含めて)。