あまりに見事に酷いお話

http://anond.hatelabo.jp/20080130215148
http://slashdot.jp/askslashdot/article.pl?sid=08/02/03/0022251

危険だとか迷惑だとか踏み台だとか色々かいてあるけれど(というか踏み台ってなんだろ?)
そんなに大切な個人情報をたくさん扱ってるサイトなんてどれだけあるかな。

http://d.hatena.ne.jp/Hamachiya2/20080131/security

多分ネタなんだろうが,あえて釣られてみる.*1

  • Q. 2個同じ機器を抱えているが、コードも2つある。共通関数化しないか
  • A. 2個同じものがある機器構成でもセンサ類のレジスタは別になる。だから共通の関数にできないのはあたりまえだ
  • Q. 関数が尋常じゃない長さ(700行)なので可読性のため分割しませんか
  • A. 関数コールであちこちに飛ぶ方がかえって読みにくい*1
  • A. そもそも、コードの可読性は品質には影響しない。可読性をあげて良いことがあるのか。

(以下略)

http://d.hatena.ne.jp/minekoa/20080125/1201263076

たとえばこういう人に,インターネット上で公開するサービスは書かせるべきではない.*2


ブクマコメントより抜粋.

  • 感だけど。実現する力>>セキュリティを勉強する力。
  • バザールモデルならこれでOKか。セキュリティーについては後で誰かが考えると。・・・個人的には先に考えるが。

おそらくは面白いものを実現する技術より(基本的な)セキュリティを学ぶ方が数段楽だし,セキュリティを後で考えるより先に考える方が100倍楽だろう.

  • 失敗するのはいいけど失敗から学ばないとダメだと思う。つか、失敗しないと学ばないから失敗を恐れないってのは大切。仕事でやる前に失敗しておいたほうがいいな。
  • むしろPHPのお陰で、セキュリティのリテラシーが向上した自分は異端らしい。C言語でビット/バイト単位の操作をするような、良い経験でしたよ>PHP開発
  • 「そんな持ち物ばっかり拘ってないでとりあえずあの山登ってみなよ、大丈夫遭難したってそうそう死にゃしないから」 / ちゃんと学んで作っていても痛い目は十分見れると思うよ。極論イクナイ。*3

たしかに反面教師としては優れていると思う.
問題は,多くのPHPプログラマーは失敗から何も学ばず,自分が失敗していることにさえ気付いてないこと.*4失敗から学ぶためだけでも勉強は必要なのだ.

  • 漏れると重大な個人情報なんて通販サイトレベルでも十分すぎるほど恐ろしい。
  • 経営者の気持ちで同じ発言ができるかどうか。

matzってプロ市民じゃないかと思う。

どちらかというとエヴァンジェリストでしょう.

以前も似たようなことを書いたことがあるけど,たとえ彼がプログラマーの皮を被ったロビイストだったとしても,それを批判される謂われはない.

http://zapanet.info/blog/item/1217

PHPは定期的にネタにされる

は同意.

プログラミング言語は宗教みたいなもの
プログラミング言語は宗教みたいなもので、好きか嫌いかですぐに論争になります。

「好き嫌いが宗教論争」は事実だけど,「(特にPHPの)脆弱性のでやすさ」はそうではありません。

まつもとゆきひろさんは「たかがひとりのプログラマ」じゃない

これこそ宗教論争だけど,私にとってはMatzもJoshua Blochも,ひとりのプログラマであるのに変わりはありませんね.*5

PHPはダメだ!」とだけ叫んでしまえば、大部分がPHPで作られている
Yahoo! JAPANニコニコ動画は脆弱で危険だ!」と叫んでいるように聞こえます。

そういう素人の存在が一番危険なんですよ…….*6

セキュリティに詳しい人が、PHPアプリケーションを作った後にチェックできるチェックリストを作って公開したり(できればチェックツールも)、ミスしやすいポイントを列挙したり、そういう方向に進んでいくのが正しい方向性だと思います。

で,その一覧を見ると「こんな鬱陶しい言語使ってられるかー!」「セキュリティを考えてPHPで書くくらいなら,他の言語を一から勉強した方がまだ楽なくらいだ.」となるのがPHPなのだ.

*1:さもなくば死ななきゃ治らないある種の人種.

*2:自分の家の庭で運転する限りは無免許運転でもOK.公道を走る場合は無免許運転は違法.練習がしたければ教習所にいってやってくれ.

*3:昔読んだセリフ.「無謀な登山家もいるし経験豊富な登山家もいる.しかし無謀で経験豊富な登山家はいない」.その理由は,無謀な登山家は経験を積めるほど長生きできないから.

*4:この部分は大半のJavaプログラマーにでも同じだな.悲しいことに.

*5:その人物に敬意を持って接するか否かは,また別の問題.

*6:ところで「大部分が」というけれど,こういう場合は「(大部分の)どうでもいい部分=>PHP」「セキュリティの高い部分=>他の言語(例えばJava)」という住み分けをするのが定番だと思う.