[PHP-users 6062] Re: PHPは仕様が不安定か

Naofumi Kondoh php-users@php.gr.jp
Mon, 11 Mar 2002 08:37:20 +0900


ソフト工房の近藤です。こんにちは。

naoki kishida wrote:
> 
> きしだです
> 
> > PHP から Java に移行する理由は、『仕様が不安定』だから
> > ですか。  想像はつくけど、具体的にどのあたりでしょうか。
> 
> たしか、クラスと配列を絡めたときの挙動が変わってしまって、PHP3で動いてる
> ものをそのままPHP4で動かすことをあきらめたことがありました。

私はこの体験はないですね。まあ、PHP3 の時はそんなに複雑な
クラスの使い方はしませんでしたが。

PHP3 から PHP4 で困ったのは、関数の中で global 変数
を unset すると、PHP3 では動くが、PHP4 では、global
宣言をしてあっても local 変数になってしまうこと位。
ソースを読まなくても想像はつくし、sed でどかっと修正
できたのでたいしたことはなかったですが。

PHP4.0 から PHP4.1 で、isset() の Warning が違って
しまった方が修正が面倒だった。sed 一発というわけには
いかなくて、結局手修正したので結構手間がかかりました。


> その仕様変更の予告は、目に付きにくかったと思います。
> あと、問題になったのは、動かないことの検証が簡単にできないことでした。

これが一番問題ですね。

石井さんが別のスレッドで、
| 旧バージョンのブランチの維持とか,そういうことは,どっかの企業が有料で
| サポートすれば良いのではないんでしょうか.
ということを言われてましたね。

私は、大きなバージョンアップの時に、旧バージョンとの
相違、上位互換性問題について詳細に記述したドキュメント
があれば、有料で買いたい。  結構需要はあると思うけど、
誰かやりませんか。有料メルマガ方式で小出に出してくれて
もいいし。

# 昔々の汎用機のマニュアルには、脚注や互換性の章に、
# 旧バージョンとの相違点がものすごく細部にまで渡って
# 記述してありました。(今もそうだろうか?)

フリーソフトは、互換性関連の記述が少いのが悩みの種です。
ただ、石井さんの言われるとおり、コアーの開発者の貴重な
戦力を生かすためにも、互換性検証やドキュメントなどの補
助的な仕事は、まわりの協力者がやるべきことだと思います。
私も暇と英語力さえあれば、そういう補助的なお手伝いをし
たいけど、現状ではとてもできなくて。

# ただ BNF をきちんと決めるとか、コーディング規定をし
# っかり作って、十分な必要性のない関数名や名称の変更は
# 極力避けるようにして欲しい。

exists_function() の塊りみたいなプログラムはみっともな
いですしね。(^_^;;

> > 不安定というより、上位互換性の問題なんだと思いますが。
> > 外してますか?。
> 
> これから、どのような指針で上位互換性のない仕様変更がされるのか、ちょっと
> 予測できないということです。そういう意味で不安定と書きました。

このあたりは、詳しい方がフォローしてくださることを期待。

--- snip ---

くどくなるけど、フリーソフトといえども、ユーザーの資産
である既存のプログラムを大事にして、バージョンアップし
ても  *** できるだけ ***  動くようにする仕組みを作った
り、ML などで互換性に関する情報を豊富に出していくこと
が大事です。

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 (株)ソフト工房   近藤直文        Email:  nkon@shonan.ne.jp 
  《 PostgreSQL+PHPソースコードジェネレーターデモGPL版 》
           http://www.SOFTKOUBOU.co.jp/
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/