よくできた道具
#memo
https://twitter.com/berlysia/status/1630939864257658880
よくできた道具というのはかっこいいものではなく、最初からそうであったかのように明瞭で、誰がやってもそうなりそうに見えるのに、作ろうとすると多くのことが考慮されて行き届いている
いったんプログラミングの周りの道具のことをイメージしているが、たぶんこれに限らない。
シンプルなインターフェースで適度に抽象化された道具は、ソースコードの文字列として読んだときにでさえ、やりたいことを明朗に説明してくれる。道具を使おうとするとインターフェースが次にやることを導いてくれるような体験になる。
その道具の上でやりにくいことは、その道具の使い方として歓迎されていないことか、その道具の責務では不足する部分だと言える。こうしたときに、よくできた道具は適度に脱出ハッチを備えていて、一点モノの動作を記述できる。
よくできた道具は、すべてをシンプルに表現するばかりでなく、必要に応じて使い勝手が良いようにイージーなインターフェースを提供する。多くの人にとっては十分で自然な道具だが、踏み込んだことをやるときには脱出ハッチにより、うまくイージーな形から外れて、やりたいことを表現できるようになっている。