http://readmej.com/

2006 年 11 月 27 日(月)

 数日前のつぶやきで「Javaなんてゴミだ」と書いた内容について何故だか判らないという意見を頂きました。これって説明するのは結構難しいんですよね。

 【AさんとBさんがX地点からY地点まで行く】というプログラムを書くとするじゃないですか。まず、AさんとBさんが動くための車を作ります。車にはタイヤがありエンジンがあり、色々なパーツがあります。タイヤにはホイールがあり、ゴムがあり、色々なパーツで出来ています。ゴムには原料があり、加工工程があり、色々な手続きが必要になります。また車を動かすには免許が必要であり、免許には免許を許可するところがあり、法令があります。法令を作るには国が認可を出し、法令内容を考える人がいて・・・あれ?一体何をやりたかったんだっけ?と当初の目的が薄れてくるわけです。当初の目的はあくまで【AさんBさんがX地点からY地点まで行く】ことであり、それにはタイヤの材料や免許の法令なんて全然関係ないわけです。もちろん免許を取って車を買って二人で乗って目的地まで行く!という過程がきちんと作られていれば、今度はCさんがDさんを拾いつつX地点からY地点を経由してZ地点に行くといったような事も出来るようになります。つまり応用性が無限に広がるわけです。既にタイヤやエンジンといったものは作られていて、教習所や警察は整備されているんです。ライブラリと呼ばれるものなんです。しかしそれを使うためにどういう手続きをしたらいいかなども覚えなくてはならず、非常に面倒なわけですね。さぁ、全て環境は整った!動かしてみよう!という時に、AさんBさんがX地点とY地点の間で止まってしまったとします。どこに原因があるのかを探すのもまた大変です。タイヤがパンクしたのかもしれませんし、警察に止められたのかもしれません。タイヤがパンクしたのはジャリ道を通って釘がささったからであり、その修理方法は・・・もうこんな事を考えていたらキリがないわけです。

 こんな回りくどいことしなくたって【AさんBさんがX地点からY地点まで走ればええやん】というプログラムを書いたのが、私の100行程度のプログラムなわけです。応用性も何もありゃしません。しかしさくっと作れてさくっと動く、余計な事を考える必要も無く、問題が発生しても直しやすいわけです。

 私が思うに、物事は極力単純であるべきだと思うんですけどね。


← 前日 翌日 →