PHPの欠点

ネタ元:PHPがいかに駄目な言語か、という話。

定期的に起こる、PHPに関する議論ですが、今回はRubyのまつもとゆきひろさんが火種とあり結構な盛り上がりを見せています。

とりあえず、まとめ

どの言語で書いてもおかしなコードを書く奴は書く。
404 Blog Not Found:「PHPなめんな」と「(Perl|Python|Ruby)をなめんな」の違い
PHPとRubyについて
Rauru Blog » Blog Archive » 悪いのはPHP自体じゃないかもしれないけど
PHPやってるだけでバカにされるんですがどうしたらいいでしょうか。 - 人力検索はてな
「PHPは初心者に優しい」は不適切な宣伝文句 - 2008-01-29 - ひがやすを blog
Matzにっき(2008-01-29): PHP使いの反論
Matzにっき(2008-01-29): 安全なWebアプリのために言語ができること
またphpネタで盛り上がってる - Lism.in * blog
PHPと(Perl|Python|Ruby)の違い - Blog::koyhoge
So-net blog:港区赤坂四畳半社長:スクリプト言語の美学
PHPは定期的にネタにされる
だからもう初心者にWeb開発させるのやめようぜ - novtan別館
噛み合わないのはいつものこと。
初心者はPHPで脆弱なウェブアプリをどんどん量産すべし
【逆説】PHP を使いつつ思考停止をすると頭脳が腐敗する

とりあえず、ここまで。続きは誰かがまとめてくれると思います。

で、私はプログラム言語は6年近くPHPを愛用している訳だけども、まつもとさんの言ってること(翻訳ですが)は正しいと思う。

まず、言語としての欠点として指摘されいる箇所だけれども。

いろんなものがfalseだったりするせいで、新たな比較演算子「===」が必要

これはほんとにうっとおしいです。汎用性のある比較演算子なんていらないと思うよね。

オブジェクト指向機能が壊れている

壊れているw
バージョンによって仕様が変わりすぎるんですよね。

short_open_tagsやらsafe_modeやらregister_globalsがonになってるかもしれない

ここはあんまり気にならないかな。(大体の環境は一緒)

lambda(無名関数)がない。create_functionはlambdaじゃない

想像したことがなかったけど、あったら便利だと思います。
というか欲しいですね。

一貫性のない名前(str_replace,strlen,parse_strとか)

PHPは関数が多いくせに命名規則が、たまにおかしいのがいますね。

今だに『php_info()』だったか『phpinfo()』だったか一瞬悩みますし。

引数の順番がわかりにくい(in_arrayとかstrposとか)

同系統の関数なのに引数と順番が違うとかありえないと思ってる。
mb_convert_encodingとmb_convert_variablesとか。

strpos('abcd','a')は0を返すが、0は偽である』

『いろんなものがfalse...』と同じですが、意味がわかりません。

普段、業務でPHPを利用しているので、ここら辺が改善されるとすごくうれしいですね。

で、PHPユーザーに対して

PHPで書かれたたくさんのアプリがあるがどれもHTMLとロジックが分離されてない(本当?)

「PHPは初心者に学びやすい」と言われる。確かにそうかもしれないが、 おかげでどれだけのSQLインジェクションやらXSS脆弱性やら、 ひどいコードが放置されていることか

グローバル。使うんじゃないってば。

PHPユーザーにこのような人が多いのは間違いなく、私も数年前までこんな人だったので耳が痛い。

どの言語でもいけてないプログラムを書く人はいると思うけれども、やはりPHPはそのような割合は多いと思う。

こればっかりは、どうしようもならないし、PHPの特性として残り続けると思う。
(この記事を読んでいる、あなたがPHPユーザーで、先ほどの項目に心当たりがあるのなら、ぜひ改善して欲しいのですが)

多言語を覚えるのも楽しい

ここ最近になって、必要に迫られて、やっとPerlを触りだしているのですが、これが意外と楽しい。

Perlを覚えたとき、自分の中で何か考えが変わりそうで楽しみです。

PHPには良い所も多いのですが、これらの欠点でPHPに不安を感じた方は、僕と一緒にPerlを覚えてみませんか?

関連エントリー

そろそろPHPの良いところも一言いっておくか
WEBデザイナーの為のXSS(クロスサイトスクリプティング)入門
ふつうのリロード対策
PHPでQRコード生成
URL短縮システム

スポンサードリンク

«SEO最新事情 2008-SMO、LPO、そして検索エンジンの未来も交えて- | メイン | [書評]PHPサイバーテロの技法―攻撃と防御の実際»