PHPを使う理由は・・・
僕やはてながPerlを選ぶ理由 - naoyaのはてなダイアリー
ここを読んだら少し元気になった。しかし
そして、プログラマはかならずと言っていいほど、どれかひとつ以上の言語を愛しています。好き、ではなく愛しているのです。
PHPを愛しているのかと聞かれれば、そうでもない。好きで好きで取り憑かれているわけではない。
ようやく言語自体の不満が見えてきたという段階だ。
知らず知らずのうちに受けている恩恵について、もっと真面目に考えてみた方がいいな。
型が動的であるメリットとして
$action->execute()
とやるときに、アクションクラスでいちいちインターフェースを継承しなくて良い点。
こういう利点を生かしたフレームワーク・・・難しいな。
PHP5を使ってみて、思わぬ不都合に遭遇した。
今までprivateなメソッドはアンダースコアをつけて誤魔化していたので、privateにしているつもりの関数もテストができたのだ。
でもPHP5でprivateにしてしまうと、friendみたいな機構が無いのでテストできない。
そもそもprivateな関数をテストしようって考えが間違っているのかもしれないが、場面によってはテストしたいときだってあるんじゃないかな。
F's Garage @fshin2000 :Java圏とPHP,Perl圏の断絶について。
Java文化圏に、Perlの良さをまっこうから宣言するのって、クラシックの楽団の面接で、私はエレキギターが弾けます。エレキギターでも数万人の人を感動させられますよと言ってるような感じとも言えなくもない。(もちろん、言うこと自体は重要ですが)
これはうまい例えだと思った。
クラシックギターでエレキっぽい弾き方をするのが好きな私は、JavaでPHPっぽい書き方をすればいいのかPHPでJavaっぽい書き方をすればいいのかどっちだろう。
動的型付けと静的型付けの混在って難しいのかな。
PHPで
private Foo $foo; function setFoo(Foo $foo){ $this->foo = $foo; }
というクラスがあったら
Foo $foo = new Foo(); $obj->setFoo($foo);
だけ受け付けて
$foo = new Foo(); $obj->setFoo($foo);
をエラーにするような機構があったらいいのに。
Cのテンプレートの逆か。テンプレートがデフォルトで、型を静的に決める場合がオプションのような。