2024年03月07日

“software”の語源

“software” の語源について、現在は東京大学名誉教授である玉井哲夫先生によりソフトウェア技術者協会の機関誌へ2001年に投稿された記事を発見した。ソフトウェアの語源について気になり、自ら関係者に連絡し調べてみたという内容だった。

https://www.sea.jp/office/seamail/2001/2001_12_7.pdf

玉井先生の調査結果によると、“bit” を造語したジョン・テューキーが同じく “software” も造語した説が有力だが、“bit” と異なり証拠は見つかっていないため、あくまでも”software”を印刷物で初めて使用した人物であるということ以上の明確なことは分からなかったということだった。その印刷物とは米国数学月誌であり1958年に掲載されたテューキーの論文であると言う。

「ソフトウェア」を新語として考案し披露していると取れないこともないが、むしろすでに一部で流通し始めた語を、いち早く取り入れたというようにも読める。

というのが、玉井先生がテューキー論文を実際に読んで抱いた感想だった。

更に玉井先生の調査によると、ポール・ニケットという人物がテューキーよりも早く “software” を造語したということを主張していたようだ。そこで玉井先生が二ケット本人にメールを打って確認をしてみたが、証拠となる文章も無いし証言をしてくれるような人もすでに皆亡くなっていると言われたということだった。つまり、ニケットの主張は信憑性が低いと言えるだろう。ニケット氏による主張は以下のWebページで見ることができる。

http://www.niquette.com/books/softword/tocsoft.html

さて、“software” が初めて使用されたというテューキー論文を自分でも読んでみようと調べたところ、アメリカ数学協会のホームページで発見することができた。

https://maa.org/sites/default/files/pdf/CUPM/first_40years/1958-65Tukey.pdf

“The teaching of concrete mathematics” (応用数学の教え方)というタイトルで、応用数学分野は純粋数学に習熟する必要がある上に更に結果が出るまで時間がかかるものだと勘違いされているから、カリキュラムを工夫しようという提案だった。なぜなら応用数学分野においては毎日数値計算をするわけではないから、最終試験のために厳格に数学的詳細を覚えるよりも、数学が必要になったときに再学習できるような能力を身につけることが生徒の人生おいて大事だと主張していた。熱い。

肝心の”software”は2ページ目の最終段落で見つけることができて、全8節あるなかの2節で登場するため論文の序盤である。文脈としては、1節では課題を定義しており(応用数学分野が過度に難しいと勘違いされている)、2節ではその解決策(応用分野の学生には厳密な詳細よりまずは覚えやすい方法を教えよう)の概観を論じている。

Numerical computation, through the centuries, has often faced up to reality and made things easier. The use of logarithmic tables, even by those who do not know how to recompute them, and of desk calculators and, now, electronic calculators, even by those who cannot repair them, has been a commonplace. Today the “software” comprising the carefully planned interpretive routines, compilers, and other aspects of automative programming are at least as important to the modern electoronic calculator as its “hardware” of tubes, transistors, wires, tapes and the like. When a student or a user begins to use an electronic calculator, we do not ask him to learn all the details of the automatic programming – and surely not to leearn why these details were chosen instead of others. A few students and users will develop slowly into designers or programmers, but their number will be few and their treatment special. Let up loook to the analogy in all forms of computation.

数値計算は何世紀にもわたって、しばしば現実に立ち向かい、物事を容易にしてきました。対数表は、それを再計算する方法を知らない人であっても使用され、卓上計算機、そして現在では電子計算機は、修理できない人であっても使用されることが一般的になっています。今日、注意深く計画された解釈ルーチン、コンパイラ、および自動プログラミングのその他の側面で構成される「ソフトウェア」は、現代の電子計算機にとって、真空管、トランジスタ、ワイヤ、テープなどの「ハードウェア」と少なくとも同じくらい重要です。学生やユーザーが電子計算機を使い始めるとき、私たちは彼に自動プログラミングのすべての詳細を学ぶように求めません。そしてもちろん、なぜ他のものではなくこれらの詳細が選ばれたのかを学ぶようにも求めません。少数の学生やユーザーはゆっくりとデザイナーやプログラマーに成長しますが、その数は少なく、扱いは特別です。あらゆる形式の計算における類似性に目を向けてみましょう。

論理構造が分かりづらい文章なのだが、つまりは、厳密な詳細を教えずにまずは手を動かしてもらうよう学生を指導することは可能であるということを暗示している。なぜなら、既にそういった指導を行っているからである。例えば、学生が電子計算機を利用開始する際に現代の電子計算機を構成するハードウェアとソフトウェアの詳細について教えていない。

そういう論理構造だと分かってこの文章を改めて点検すると、ソフトウェアの例は必ずしも必要なさそうだ、ということがわかる。なぜなら「厳密な詳細を知らずとも一般的になった」例として「再計算する方法を知らない人でも使用する対数表」と「修理できない人であっても使用される卓上計算機」が既に挙げられており、ソフトウェアの話は「現代の電子計算機」のウンチクに過ぎない。“software” という新語なのにこのような扱いだから「テューキーが印刷物で初めて使った」という曖昧な表現で紹介されることが多いのだろう。

気になって調べてみたのだが “software” を造語した人物やその思想や背景を結局は知ることはできなかった。残念だ。

戻る