in between days

表参道で働くシニアのブログ

ソースコードって概念をちゃんと説明しようとするとけっこう難しそうだ

朝日新聞のソースコードの説明が変だった件、あの文章は「「ソースコード」という」という係り受けが「ウィルス」と「プログラム」の2つの言葉のどっちの修飾としても解釈しうる多重に係り受けがある悪文で、係りと受けは近くに置くべきという意味では「ウィルス」に掛かると読めそうだけど、当然ながらそれは意味がおかしいので、他紙の報道などを見てわかるように「プログラム」が「ソースコード」であるという文章を書きたかったのだろう、というのは普通に読めるとおもうので、みんな「ソースコードはウィルスなのかー」って言ってるのは、朝日が文章のプロのはずなのに係り受けが多重にある文章を書いちゃったのを茶化してる意味でわかってやってんだとおもってたんだけど、なんかどうもそうでもなさそうな雰囲気なので、オモシロがり方のふいんきを感じるのっていつもながら難しい

それはそれとして今回の件で「ソースコード」ってものを考えるきっかけになって、プログラミングにまったく何の馴染みもないひとに「ソースコード」を説明しようとするとけっこう難しいんじゃないかと改めておもった。たとえば今回の件で産経新聞やスポニチは

遠隔操作ウイルスの設計図にあたる「ソースコード」が

って書いてて、よくソースコードって「設計図」の比喩で語られるけど、なんか違う気がする。もっと完成されたものに近い、というかソースコードはある意味で製品そのものであるわけだから、設計図ではないのではないか。音楽における「楽譜」あたりなら比喩としてまだ近いかもしれない。

「ソース(source)」というからには一種の素材であるんだけど、プログラマーはその「素材(ソース)」を書くという仕事であり、素材を用意することが製品を制作することと同義でもある。つまりソースコードは、素材であり設計図でありなおかつ成果物であり製品である。そういう多様性をもつソースコードは「ソースコード」としか表現しようがなくて、そういうプログラミングの一連の流れみたいなものを認識していないひとに「ソースコード」ってどういう位置づけでどういう意味があって、どういう重要性があるのかを説明するのって意外と難しいのではないか。

ソースコードが、その作成者が自ら書いたものであり、動作するプログラムそのものであり、すべてであるという万能感が前提としてあるからこそ、USBメモリに「ソースコード」が入っていたことが驚きであり、ニュースとなりうるのかもしれないな、とおもった。