> > > あえて宣言文の途中で、代入前に変数の値を使った場合にエラーを出そうと思うと、
> >
> > ちなみに、Java では初期化されていない可能性がある変数を参照することを
> > 禁止しています。Definite Assignment というやつですが、このようなことに
> > 興味を持つなら言語仕様を読んでみるとおもしろいかも知れません。

中田 伸悦さん:

> Javaはコンパイルと実行が分かれてるので、あらかじめいろいろやっ
> ておけますから。コンパイルも実行時間に含まれてしまうスクリプト
> 系では辛いでしょう。

解析にかかる時間 (オーダ) がメリットに比べて小さければ、
導入を検討してもいいんじゃないかと思います。
(この件の導入/却下について意見はないんですが)

スクリプト言語だから…と切り捨てるのはもったいない気がします。

Java だって実行時に Java バイトコード → ネイティブコード
っていうコンパイルはするのだし、
その上で処理にかかる時間を小さくする工夫をしてるわけです。

「スクリプト言語」って何?と常々考えてます。
例えば、次のようなスクリプトを用意して、
「C言語はスクリプト言語でなのでアル!」と主張したら、
どんな反論があり得るでしょうか。

  #!/bin/sh
  cc -o ./$1.out $1
  exec ./$1.out

ソースコードをそのまま実行に移せる、という性質は、
どうもスクリプト言語の本質的な部分ではないと思うのです。

まつもとさんの考える「スクリプト言語とは?」
は、bit 誌での座談会 (2001年 1月号) にあったように思います。

Kazuyuki Shudo/首藤一幸   私をたばねないで あらせいとうの花のように
  shudo / computer.org   http://www.shudo.net/