« ^ »
所要時間: 約 4分

もう20年ほど前に書かれたバッドノウハウと「奥が深い症候群」という技術エッセイがある。私はこの文章がとても好きだ。Emacsユーザーの私にとっては耳の痛い話でもあるし、同時にいろいろと考える機会を与えてくれる。この文章を読むと「バッドノウハウ」というなんだか怖い情報があって、それを有り難がったりする事にちょっとした恐怖を覚える。また「奥が深い症候群」という、これまたなんだか怖い病があって、罹患すると新しいものへ適応する力が失われ、自分自身が化石となるようにも思えてくる。こういう文章を読むと恐怖を感じるし思い当たる節もある。しかし心の何処かでバッドノウハウと「奥が深い症候群」について納得できない部分がある。これは自分が「奥が深い症候群」に罹患しているからかもしれないし、そうじゃないかもしれない。実際プライベートでは古い技術について調べたり、それについて記述している文章を読んだりする事も多い。最近だとEmacs、Scheme、GLEW、GLFW、Poppler、GnuPG、Tramp、X11、Org-mode、DDSKK、scskkd、Gmail、CMakeについて調べたりしている。何だか何時代も前に産み出された物について調べたり、学んだりしている。勿論これらは今でも開発や保守が続いていて1オワコンなどでは全くないが、今の流行でもない。先の文章では、TeXやEmacsについて、その良さは認めつつも「バッドノウハウの温床として悪名が名高い」としている。まあ、それ自体に強い異論がある訳ではなく、そうだよなぁと思う所が多い。これらの古い技術を学ぶ事で新しい事を学ぶ機会を失うようにも思う。

私がプログラミングを始めた頃(たぶん2004年とか2005年とか)には、PythonやPerlやJavaが既にあったし、VisualStudioやEclipseが既にあった。それから少し経つとiPhoneやAndroidが登場したし、FacebookやTwitterやMixiが登場した。そしてHerokuやAWSやGoogle Cloudが登場したし、更に時間が進むとDockerやKubernetesが来た。IPython notebookはJupyterと名前を変えブームとなっていたし、学生の頃ファジー制御の本を読んでいたけれど、気が付くとディープラーニングが席巻するようになり、大規模言語モデルによってまるで人間のような文章でのコミュニケーションもできるようになっていた。これらについてもっと学んだり、作ったりした方が良い事は理解できる。私程度でも簡単なディープラーニングの実装はできるし、公開された大規模言語モデルを使って自然言語の生成の実装もできる。それでも思うのは、ライブラリの使い方はわかった。背景となっている考え方も大雑把には理解した。しかし、根底となっている技術トピックや、過去にどんな事象があってそこに至ったのか、他のアプローチにはどんなものがあるのか、どんな人がどんな取り組みをしたのかなど、わからない事は多い。またそんな環境にいて、古いものがそれらと同じように新鮮に感じる事もある。実際、「こんなもの欲しいな」とぼんやり考えていると、既に実装されているけれどあまり使われなくなってしまっているものという事もあったりする。既にあるものを使用していると、素朴なものは少なく、依存しているライブラリについて、それもいくつも層になって利用されていて、実際に何をしようとしているのか、本当に必要な所はどこなのかという事を把握しにくい。

そういう風に考えていると、私自身はいわばソフトウェアにまつわる近現代史のような部分に興味があるように思える。その中から、どこか光るものを見付けると何だか嬉しい。これはまさに「奥が深い症候群」なのだろう。もう一つ思うのは、考える方向を1方向に集約しないという事だ。一つのテーマについて、同じ方法を向いてまるで競争のように振る舞う事をしたくない。自分の見方で「ここ、面白いよね」という部分を見付けたい。それが、たまたま新しいものであっても、古いものであっても関係ない。自分の感じた事を大切にしたい。

そんな事を、技術エッセイを読みながら考えた。とりとめのない内容になってしまい、文章としてもちゃんとまとまってはいないけれど、この粗雑さも良さと悪さの両面があるように思える。自分の考えた事として残しておく。


1

scskkdは配布はされているけれど、保守はされていないかもしれない。