ケイの『「ソフトウェア工学」は矛盾語法か?』について

「ソフトウェア工学」は矛盾語法か? (id:propella:20090130:p1) という文書を発見し、読ませていただきました。日本語で読めるのは大変助かりました。ありがとうございます>id:propellaさん

内容は高度なことを言っていて、理解するのが難しいです (^^;

以下、読んで思ったことのメモ。

真のソフトウェア工学はまだ未来のものだ。一年とかけずに三千人以下でエンパイアステートビルを造り上げるようなものは、現在のソフトウェア工学に存在しない。

これは確かにそう思います。その一方、コード(ソフトウェア)を書くというのは、組み立てのことではなく、製造業でいう「設計」に相当する とおっしゃっている方もいます。お客が望むソフトウェアを効率よく作るには、要望ヒアリングも含めた建築設計の手法をお手本にすべきなのかもしれません。

「機能なし」か、もっと良い言い方をすると「ほとんどメタ」のシステムが必要になる。残念ながら、現在のほとんどのソフトウェアは機能満載言語で書かれるのでこういったものには対応出来ない。そして必要な拡張は不可能だ。

Smalltalkのメタ機能はそんなに凄いのか…と思い、ちょっと調べてみました。「Happy Squeaking!!5.5 インターセッション応用」によると、なんとInterfaceのないSmalltalkSqueak)にInterface概念を追加しています。これは凄いです。他の言語ではなかなかこんな拡張はできませんね。

「将来はわからないから、当初は機能は少なくしておいて、その分メタな機能を準備しておく」という言葉の意味がわかりました。そして、そのためには「ごり押し」や「神のごとき(すべてを事前に決定する)」手法ではなく、謙虚な姿勢で巧妙に問題解決を成し遂げる方法を探す、ということですね。勉強になります。