ソフトウェアエンジニアリングに就いて
ソフトウェアエンジニアリングに関して最近、これは経験上だいたい正しそうで自分の判断の軸にしているけど、背景をうまく説明できないことが2つほどある。 一つは、「普通にどう考えても正しそうなことが間違っていることがある」ということで、論理的整合性だけでシステムを設計しても全然使えなかったりスケールしなかったり長続きしないということが、驚くべきことにしばしば起こるということを経験上僕は知っている。でもなぜそうなるのか、上手に説明できないでいる。 最近読んでいる本で、正岡子規が「写生」といってるのは実は間違っているよ、本当は想像力が追加で必要なんだよ、という評があって、このことを思い出した。コンテクスト(コンテクストって何?)、歴史的経緯、人間の感情、人間自体の非合理性などにヒントがあるのかなって思う。 もう一つが「ありのままに受け入れるのは難しい」ということで、思い出すのはベタベタかもしれないがスピノザの「嘲笑せず、嘆かず、呪わず、ただ理解する」と、ソシュールの「共時言語学を優先せよ」というやつである。 ソフトウェアエンジニアをしていると「正しい」とか「あるべき」とか「ベストプラクティス」とかいう言葉に敏感になってしまうので、一度色々な背景を取っ払って、事実と効用にだけ向き合って現在のシステムを眺めてみるといいのではということを常々思っている。そりゃあ、経済的合理性からあるべきシステムというのが存在するのは、そうなのだが、その合理性を見極めるにしてもものすごくいろんなことを考えて慎重にしたいという気持ちがある。 一度僕自身が根っからの文化相対主義者(ソシュールのせいです笑)なのはあるが、ベストプラクティスと聞いてまずベストプラクティス()と思うぐらいで実はちょうどいいのかもしれない。いやもちろん、正しさの側についてもフラットに理解しないとダメなのだが。特定のoverwhelmingな技術を小馬鹿にして全然手を動かさないとかそういうのもそれはそれで全然ダメ。 ここまで書いて、思っていることその1とその2の根にあるものは通底してるのでわ、という気にもなってきた。 そしてあの國分功一郎さんんがスピノザの新書を書いてることを知った。読もう...。