Island Life

< ピアノレッスン30回目 | 道具によって育てられる >

2012/01/05

実装者バイアス

Common Lispもツールは揃ってるんだけど、日常的に使ってると、どうも一段噛ませないと痒いところに手が届かない、ってことがよくある。Gaucheならすぐ届くのに。と思うんだけど、Gaucheでは自分の痒いところを掻けるような機能を自分で追加しているのだから、それは当然なのであった。

自分の作った言語が自分にとって一番使いやすくなるのは必然なのだ。 だから、自分の作った言語の使いやすさを自分で客観的に評価するのはとても難しい。 というより不可能ではなかろうか。

自分という特殊なユーザにオーバーフィッティングしてしまわないためには、 第三者からのフィードバックが欠かせない。 それも、デザインの根幹に触れるような機能よりも、 「どうもちょいとだけ面倒くさい/気持ち悪い/もたつく」といった些細なことがとても参考になる。

デザインの幹になる選択については、意図的な選択であったり、実装上避けがたい都合があることが多い。「見た目がとっつきにくい」とか「静的型が無いと使えないよ」とか「やっぱり遅延評価がデフォルトじゃなきゃ」とか言われても「そうですか」としか返しようがないしなあ。でも、ほんのちょっとしたこと、「この関数がこの型の引数も取ってくれたら1行減ってすっきり書けるのに」とか「ほんの3行で済む処理なんだけど何度も書いててめんどくさい」などといったことは、単に開発者が気づいてないだけ、って可能性が結構ある。

もちろん必要だからってどんどん入れてったら大きくなるばかりなのでどこかで線引きは必要で、一貫性のある線は開発者グループにしか引けないのだけれど、とりあえず声を上げてもらえるとありがたいのだ。

Tags: Programming, Gauche

Post a comment

Name: