アカウント名:
パスワード:
第38回PHP勉強会発表 [hatena.ne.jp]の「PHPの全バージョンを揃えよう」を見てからというもの、少なくとも業務で使える物じゃないなー・・・と。フレームの元ちっくな聞き方になりますけど、好んで使う理由とかあるんでしょうか?
この手の事ってPHP限定な事ではないよね。他の言語でも言えること。でこんな心配していたらどの言語もさわれなくなる。
いや、PHP限定ってことはないよ。少なくとも「仕様」と「実装」が分かれている言語はそうじゃない。
ANSI CやANSI Common Lispのような標準仕様がある言語と、そうでない言語は明らかに違いがある。
PHPが問題なのは、実装以外に仕様を定めているものがないこと。しかもphp.ini等の設定によって挙動が変化するから、ポータブルなコードを書くことが非常に難しい(環境AからもってきたPHPスクリプトと環境BからもってきたPHPスクリプトを環境Cで問題なく動くとどうやって確信できるのか?)。
また、PHPは言語仕様の修正が無計画で場当たり的だという印象を受ける。Rubyほどラディカルに言語仕様をいじっているわけじゃないけど、逆に一見動いていそうに見えて問題が隠れているという体験がPHPでは少なくない。JavaとPHPを比較してみれば、PHPの方が後方互換性を大事にしていないことは明らかなことです。
しかもPHPは外部ライブラリのバージョンアップに追随する必要にも迫られている。PHPのコア言語とPHPで書かれたライブラリとC言語で書かれたモジュールが渾然一体となっているのがPHPの処理系であり、おいらの感覚からは「カオス」としか言いようがない。Hardened PHPのようなプロジェクトもあるけれど、おそらくPHPしかできないプログラマーにその必要を理解させることは無理で、それが理解できるくらいならPHP以外の選択肢も使えるようになると思う。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ソースを見ろ -- ある4桁UID
PHPこわい (スコア:0)
第38回PHP勉強会発表 [hatena.ne.jp]の「PHPの全バージョンを揃えよう」を見てからというもの、少なくとも業務で使える物じゃないなー・・・と。
フレームの元ちっくな聞き方になりますけど、好んで使う理由とかあるんでしょうか?
Re: (スコア:0)
この手の事ってPHP限定な事ではないよね。
他の言語でも言えること。
でこんな心配していたらどの言語もさわれなくなる。
Re:PHPこわい (スコア:2)
いや、PHP限定ってことはないよ。少なくとも「仕様」と「実装」が分かれている言語はそうじゃない。
ANSI CやANSI Common Lispのような標準仕様がある言語と、そうでない言語は明らかに違いがある。
PHPが問題なのは、実装以外に仕様を定めているものがないこと。しかもphp.ini等の設定によって挙動が変化するから、ポータブルなコードを書くことが非常に難しい(環境AからもってきたPHPスクリプトと環境BからもってきたPHPスクリプトを環境Cで問題なく動くとどうやって確信できるのか?)。
また、PHPは言語仕様の修正が無計画で場当たり的だという印象を受ける。Rubyほどラディカルに言語仕様をいじっているわけじゃないけど、逆に一見動いていそうに見えて問題が隠れているという体験がPHPでは少なくない。JavaとPHPを比較してみれば、PHPの方が後方互換性を大事にしていないことは明らかなことです。
しかもPHPは外部ライブラリのバージョンアップに追随する必要にも迫られている。PHPのコア言語とPHPで書かれたライブラリとC言語で書かれたモジュールが渾然一体となっているのがPHPの処理系であり、おいらの感覚からは「カオス」としか言いようがない。Hardened PHPのようなプロジェクトもあるけれど、おそらくPHPしかできないプログラマーにその必要を理解させることは無理で、それが理解できるくらいならPHP以外の選択肢も使えるようになると思う。