📜

60年前からの和文プログラミング論文を掘り起こした話

2024/09/21に公開

日本の人々が「プログラミング」にかかわるようになったのは、いつごろでしょうか?

その前に、まずは世界のコンピュータとプログラミングの歴史を簡単に振り返ってみましょう。まずは OS から有名どころをたどると、

  • わかりやすく Windows 95 が 1995 年 [1]
  • その前に広く使われた Windows 3.1 は 1992 年 [2]
  • その下で動く MS-DOS は、バージョン 6 が 1993 年、バージョン 1 が 1981 年 [3]
  • Linus Torvalds が Linux の開発を始めたのが 1991 年 [4]
  • その「契機となった」 Andrew Tanenbaum の MINIX が 1987 年 [5]
  • さらに遡ればオリジナルの BSD (Berkeley Software Distribution) が 1977 年 [6]
  • それらの礎であった Unix (と Space Travel (ゲーム)) の開発が 1969 年 [7] [8]
  • その前身であった Multics プロジェクトが始まったのが 1964 年 [9]

といったところでしょうか。プログラミング言語の有名どころで言えば、

  • Sun Microsystems が Java の α 版を出したのが 1995 年、正式版の 1.0 が 1996 年 [10]
  • Brendan Eich が JavaScript の原型となる LiveScript を開発したのが 1995 年 [11]
  • まつもとゆきひろさんが Ruby の開発を始めたのが 1993 年、発表したのが 1995 年 [12]
  • Guido van Rossum が Python 0.90 を公開したのが 1991 年 [13]
  • Perl の最初のバージョン 1.0 が 1987 年 [14]
  • SQL という名前が付けられたのが 1970 年代 [15]
  • 上記の Unix と対で語られる C 言語の開発が 1972 年 [16]
  • 最初に動作したバージョンの Smalltalk も 1972 年 [17]
  • 最初の BASIC が開発されたのが 1964 年 [18]
  • CODASYL が COBOL を開発したのが 1959 年 [19]
  • LISP の開発が始まったのが 1958 年、論文が発表されたのが 1960 年 [20]
  • John Backus が FORTRAN の最初の最初のバージョンを考案したのが 1954 年 [21]

みたいな時間軸を見ることができます。 (歴史の話なので近年のものは最初から除いています)

プログラミング黎明期とプロシン

この最初期にあたる 1950 年代にはすでにプログラミングに触れていた人が、日本にももちろんいました。ですが、目的である科学技術計算や事務計算のための単なる「作業」ととらえられがちで、「プログラミングという行為」そのものに特に注目することは多くなかったようです。

そんな中で 1960 年 1 月に第 1 回がおこなわれたのが、「プログラミング・シンポジウム」 (通称プロシン) です。 [22] 日本で「プログラミングそのものを興味の対象としたイベント」は、これがおそらく最初のものだったと思われます。 [23]

プロシンは今でも続いていて、年明けの 2025 年には第 66 回を数えます。現在のプロシンについては、以下の記事などをご覧ください。 (第 66 回の論文・発表も絶賛募集中です!)

過去のプロシン論文集

さてこのプロシン、いちおう学会系のイベントなので、第 1 回から毎回いわゆる「論文集 (報告集・予稿集)」が出版されています。しかし当時のシンポジウムに参加していなかった人には、これまで第 46 回 (2006 年) 以前の論文集にアクセスする方法がありませんでした。主にシンポジウムの参加者に配布された論文集 (物理冊子) しか、実質的に存在しなかったんですね。

情報処理学会として開かれていた会議の論文や会誌「情報処理」の記事などは、スキャンしたものが最初期のものから「情報学広場」 (情報処理学会の電子図書館) に掲載されています。 [24] しかしプロシンの論文は、長い間、第 47 回以降のものしか掲載がありませんでした。 [25]

関係者には、「おもしろい議論がされている論文も多いのに読めないのはもったいない」という気持ち、そして「せっかく書いた論文へのアクセスがかぎられることは著者にとっても本懐ではないはずだ」という思いがありました。そこで 2020 年、千葉大学の辻尚史先生に音頭を取っていただき、過去のプログラミング・シンポジウム論文集の内容を情報処理学会の情報学広場に掲載する活動が始まりました。 [26]

そこから掲載までの実作業にさらなる年月を要してしまったのですが、論文集の冊子をお持ちだった先生方からスキャンを提供いただき、さらに多くの方々のご協力を得て論文タイトル・著者の確認や PDF の分割などをおこない、第 46 回以前のプロシンの論文集もすべて情報学広場に掲載するめどがようやく立ちました。 [27]

本記事は、せっかく公開される論文集が多くの方の目に留まってほしいと、宣伝のために書いているものです。 [28]

学会系のイベントだからといって決してカタすぎることのない、ただただ「プログラミングが好きな」人たちが自由闊達にいろいろな (好き勝手な) 議論を楽しんでいる様子が目に浮かぶような、当時の息吹を感じられる記録になっていると思います。ぜひアクセスしてみてください!

ピックアップ

…と、概要だけ紹介して終わりにしてもいいのですが、これだけで興味を持ってもらえる人は、あまり多くないかもしれません。

ということで、ここからは、本記事の筆者が「おもしろい!」と思った論文を、あくまで筆者の独断と偏見で (ひとまず第 1 回 (1960) 〜第 20 回 (1979) のなかから) ピックアップして紹介してみたいと思います。 [29] 筆者の趣味が多分に反映されることはお許しください。 (カッコ () 内はシンポジウムの回数と開催年)

東京オリンピツク

「東京オリンピツク」の話なんかが出てきたりもしています。つい数年前にあった東京 2020 じゃないですよ。その前の 1964 年の東京オリンピツクです。

数値計算・行列計算など

特に第 1 回から第 3 回あたりのリストを眺めてみると、「計算」の話題がよく出てきます。特に当時の大学や研究機関では、コンピュータが主に使われていたのは物理のシミュレーション計算であったり行列計算であったり、というのがよくわかります。

プログラミング言語・コンパイラ

やはりプログラミング言語やコンパイラの話題は多いですね。

ALGOL

当時まだ新しい ALGOL の文法の紹介なんて話も出てきたりします。 (注: 1960 年代当時、まだ C 言語すら存在していません!)

Self

Self っていう名前がついたコンパイラや言語の話がたまに出てくるんですが、有名な Smalltalk の影響を受けた Self 言語 [30] のことではなかったりします。 (互いに関係もありません)

PL/I

FORTRAN

日本語プログラミング

プログラミング言語全般

"Problem Oriented Language" という言葉が出てくるんですが、これはいわゆる、今で言う「高級言語」のことを指しているのかな。

複数のプログラミング言語を俯瞰したような議論もしばしばあります。

自動プログラミング

「自動プログラミング」という言葉もちょくちょく出てきます。以前の「自動プログラミング」は「コンパイル・コンパイラ」と近い認識で解釈されたりもするのですが、もう少し「機械に近い」ところをゴリゴリやっていたような雰囲気が垣間見えたりします。

コンパイラとコンパイラ・コンパイラ

リスト処理

「リスト処理」と言えば LISP をはじめとして、やはり一つの潮流であったようです。

独自・多様なプログラミング言語

独自のプログラミング言語を作ったような話もよく出てきます。目的をはっきり絞ったようなものが多い印象ですね。

プログラミング方法論

構造化プログラミング

データ処理・情報検索

SQL もなかった時代に始まり COBOL などの文脈と合わせて「データ処理」というものに向き合おうとした様子が見えたりします。

算数問題を解く

かと思えば、いわゆる算数の文章問題的なものを解こうとする、東ロボくん的なチャレンジの話が当時からあったり。

証明

プログラムで証明をする、みたいな話もかなり以前からあったようです。

産業・他業界

情報系の学術関係だけではなく、けっこう実産業界や他業界からの発表もあるのが (いまでも) プロシンの特色です。

初期には、今から見た印象としては「え、ここから?」となる企業からの発表もしばしばありました。

鉄道

界隈に鉄の人が多いのも昔からだったようです。

システム・OS

メディア

言語・画像・音声・認識・人工知能

生成 AI 全盛の 2020 年代ですが、自然言語処理、画像処理、音声処理、みたいな話もずっとありますね。

計算センター・データセンター

大学や企業における計算機センター、データセンター、みたいな話題もあります。

組版

ちなみに TeX は 1984 年だそうです。

教育

プログラミングの教育の話がちょくちょくあるのも、初期からのようです。

ゲーム・パズル

プロシンには GPCC (Games and Puzzles Competitions on Computers) という分科会もあるように、ゲームやパズルを解く、という話題もよくあります。

暗号・セキュリティ

夏のプロシン

1 月の冬のプロシンの分科会 (?) 的なあつかいで、夏に「夏のプログラミング・シンポジウム」 (通称: 夏のプロシン・夏プロ) というのが開かれています。 (この記事を公開した 2024 年 9 月 21 日も「夏のプログラミング・シンポジウム 2024」がおこなわれている最中です)

このはじまりは 1964 年 7 月 15 日から 2 泊 3 日で開かれた“夢のシンポジウム”だったそうです。この“夢のシンポジウム”〜夏のプロシンの「報告」も毎年の論文集に掲載されており、初回から情報学広場に掲載することができました。

情報科学若手の会

また、「情報科学若手の会」という催しも毎年おこなわれています。プロシンには参加したことがないけど若手の会は行ったことある! という方もいらっしゃるかもしれません。

情報科学若手の会も、実はプロシンの分科会的な感じで開かれています。この「報告」も毎年のプロシン論文集に収録されていて、報告も情報学広場に掲載できましたので、興味がある方はぜひ眺めてみてください。

ご参加をお待ちしています

いかがでしたか? (TM)

冒頭に書いたとおり、プログラミング・シンポジウムはいまも開催されており、ちょうど年明けの第 66 回に向けた発表・論文募集をしているところです。

ただただ「プログラミングが好きな」老若男女と話してみたいネタがあるかた、ぜひ発表・参加を検討してみてください!

脚注
  1. Microsoft Windows 95 (Wikipedia) ↩︎

  2. Microsoft Windows 3.x (Wikipedia) ↩︎

  3. MS-DOS (Wikipedia) ↩︎

  4. Linuxの歴史 (Wikipedia) ↩︎

  5. MINIX (Wikipedia) ↩︎

  6. Berkeley Software Distribution (Wikipedia) ↩︎

  7. UNIX (Wikipedia) ↩︎

  8. Koichi Nakashima さんの『Unixの歴史の起源を伝説のゲーム「スペース・トラベル」で遊んで学ぼう!』 (2024 年 9 月 18 日) にも詳しい。 ↩︎

  9. Multics (Wikipedia) ↩︎

  10. Java (Wikipedia) ↩︎

  11. JavaScript (Wikipedia) ↩︎

  12. Ruby (Wikipedia) ↩︎

  13. Python (Wikipedia) ↩︎

  14. Perl (Wikipedia) ↩︎

  15. SQL (Wikipedia:en) ↩︎

  16. C言語 (Wikipedia) ↩︎

  17. Smalltalk (Wikipedia) ↩︎

  18. BASIC (Wikipedia) ↩︎

  19. COBOL (Wikipedia) ↩︎

  20. LISP (Wikipedia) ↩︎

  21. Fortran (Wikipedia) ↩︎

  22. 当時の文部省科学研究費でおこなわれた「数理科学の総合研究」の一部として、山内二郎先生が始めたもの、ということです。山内二郎先生追悼集刊行委員会編 「山内二郎先生 人と業績」 (1985 年 11 月) より。 (プログラミング・シンポジウムの Web サイトにある「プログラミング・シンポジウムの始まり」に抜粋が掲載されています) ↩︎

  23. 2024 年現在の日本でプログラミングをあつかう団体、特に学会としては、まず「情報処理学会」と「ソフトウェア科学会」が挙がるでしょう。そのうち古いほうである情報処理学会でも、その設立総会は 1960 年 4 月だったそうです。「情報処理学会60年のあゆみ」より。 ↩︎

  24. 例: 会誌「情報処理」 Vol.1 (1960) ↩︎

  25. 過去の論文を掲載できていなかったのは、プロシンと情報処理学会では設立の過程が異なっていて運営も独立していたため、著作権処理などが情報処理学会のものとそろっていなかった、などが主な理由です。 ↩︎

  26. 著作権の利用許諾などについて、権利者捜索のためのご連絡が「過去のプログラミング・シンポジウム報告集の利用許諾について」に掲載されています。 ↩︎

  27. 本記事を公開した 2024 年 9 月 21 日時点では第 42 回から第 46 回までがまだ抜けているのですが、作業はおおよそ終わっていますので、おそらく 9 月中には公開まで至るものと思います。 (夏のプログラミング・シンポジウムで共有したかったので、取り急ぎ本記事を公開しました) ↩︎

  28. 本記事の筆者は、データのチェックや PDF 分割の取りまとめと、最終確認の役をやっておりました。 ↩︎

  29. なにせ掲載作業を進める中で、ほぼすべてに軽く目は通しましたので…。 ↩︎

  30. Self (Wikipedia) ↩︎

GitHubで編集を提案

Discussion