わざわざ「自動生成」と名乗るものは

[ ソフトウェア開発 休むに似たり ]

System.exit(); - 自動生成ってなんかダサい

自動生成ってなんかダサいと思います。 いや、ダサいとかそうい問題じゃなくて、必要な時と場合もあるってのはわかるんですけどね。 自動生成ってのは、なにかのギャップを埋めるための暫定対応的なものなんじゃないかと思います。

同感。

例えばバーチャルマシンを例にあげると、あれって要はマシンが実際に実行するための命令を自動生成しているわけですよね。

てゆーか、コンパイラってマシンコードの自動生成器ですよね。

ソフトウェア開発の世界では、自動生成されたものをいじることが想定されていない場合やいじる必要がない場合、そのメカニズムを「自動生成」と呼ぶことはないように思います。JavaコンパイラがJVMコードを自動生成する、なんていいませんよね。自動生成を名乗るメカニズムは、生成されたものに人間があとから手を加えることを想定しているのではないでしょうかね。

生成されたバイトコードに手を入れないと使えないJavaコンパイラみたいなものですね、といったらいいすぎかな。初期のC++コンパイラはCのコードを生成するプリプロセッサでしたが、そっちのほうが近いかな。

自動生成といえば、設計モデルからコードを自動生成する、とか、制約として記述した仕様からコードを自動生成する、なんて話があります。私はこれにも懐疑的なんですが、書いてみようとしたらあんまり知識がない上に考えがまとまっていないことが分かったので出直してきます。

トラックバック

このエントリーのトラックバックURL:
http://www.skoji.jp/mtbin/mt-tb.cgi/457

コメント

> 自動生成を名乗るメカニズムは、生成されたものに人間があとから手を加えることを想定しているのではないでしょうかね。

あ、なるほど。
確かにそんな気がします。
ていうか、自動生成にもいろいろな種類があるので、ちゃんと切り分けて考えたほうがよさそうですね。

jugyoさん> たしかに、ちゃんと語るなら自動生成の分類をまずすべきでしょうね。「手を加える」「手を加えない」という二分法じゃこの程度の雑な話しかできませんな。

コメントを投稿