某インタプリタ言語で困る事象

  • Version5のPHP-win.exeは窓が出ないのはいいがexecなどの外部コマンドによる標準出力の取得ができない。

(Windowsコマンドラインの仕様なので仕方が無いといえば無理なことを望んでいるが)

  • 例えば、$str = '\\hogehoge...'; と定義した文字列の文字列関数が不審

うちが現時点で使っているバージョンのは単一引用符内の文字列の始めの個所にバックスラッシュが連続する場合、strposやstrcspnの挙動が納得いかない。explodeすると個数が変になってるとか(というか、環境設定が変なのか、私の我侭なのか)

  • 20070629AM それから例えば、substr()などの関数

最後のパラメーター length は、省略できるものの、NULLとかfalseなど、それを明示して渡せば省略に相応して挙動してくれるような値が無い。(これも元の文字列をstrlenで取得して明示するかそれより大きい値にしてしまえば問題は無いかもしれない)。しかし、或る意味では、ある内部関数が「或る文字列以降を取得する為のみにコード上に発生している。或いは振り分けを必要として2箇所に跨る」という状況は効率が悪いんじゃないだろうか。しかし実装関数の引数をどうするかなどの枠組みを決めるのは時として曖昧で難しい物だと思うし、受け取る値の型が関数の望む型に相応しなければ警告、そうでなければ可能な限り望む型にキャストするような仕組みになっているのだろう。逆にそれらは速度効率的な良い面かもしれないし悪いとはいえにくいかもしれない。

  • 20070629AM インスタンス変数を定義する個所ではコロン(".")による文字列の連結が出来ない。

連結は定数ではなく式なので仕方ないかも。実行プログラムを生成する言語を触った事が無いのでわからないが、ある意味、最終的な定数値(或いは演算結果)による変数への代入が比較的、コアな部分であるという裏づけになるのかもしれない。