[インターネット・サイエンスの歴史人物館]

連載:インターネット・サイエンスの歴史人物館(14)ジョン・ジョージ・ケメニー

2008/03/11
(火)

タイムシェアリングの検討

ケメニーは59年になって、ダートマス大学にLGP-30という事務机ほどの大きさの真空管式コンピュータを導入することができた。ロイヤル・マクビーが56年に製品化したLGP-30は、プログラム教育向けに約4万ドルで300台以上製造された。コンピュータ教育の導入に賛同する教職員はほとんどいなかったが、ケメニーとカーツは利用法を熱心に指導し、優れた理解力を示す学生が続出した。ケメニーとカーツはAlgol-58を研究し、マッカーシーが仕様の策定に参加したAlgol-60が発表されると、メモリが小さいLGP-30でAlgol-60のサブセットとなるコンパイラ、実行環境、プログラムローダの開発を学生とともに開始した。Algol-30と名づけられた言語処理環境は、プログラムが変わるたびにメモリ内容を消去し、コンパイラなどを再ロードし利用を再開することができた。

学生はオフラインの紙テープ穿孔でプログラムを作成し15分間LGP-30を独占できる約束だったが、利用者の増加に伴い1台のLGP-30では対応しきれない状況になった。58年9月にMITに移籍したマッカーシーは61年1月に、多数のユーザが1台のコンピュータをオンラインで同時利用するTSSが、将来のコンピューティングの技術基盤になると予測した。マッカーシーはMITでTSSの開発計画を立て、ダートマス大学の問題もTSSで解決するようカーツに薦めた。

ケメニーはカーツとともにTSSの実現に取り組むことを決め、数多くの学生が効率よく利用できるようにFORTRANやAlgolよりも理解しやすいプログラミング言語の可能性を考え始めた。ケメニーは62年初めにTSSと新しいプログラミング言語を組み合わせた提案書を書き、NSF(全米科学基金)に助成を申請した。

カーツは62年夏に、アリゾナ州フィニックスのゼネラル・エレクトリック(GE)のコンピュータ事業部を訪問し、大学のTSS開発に協力を得られるか打診した。かれはNSFの助成が得られない場合に備え、TSSをGEと共同開発することにより、ハードウェアを無償で提供してもらう可能性を探った。GEの責任者は大学における実績を重視し、TSSを中型のコンピュータで実現するための要件設計に参加することを決めた。

BASICの開発

ケメニーは、理工系の学生でなくてもコンピュータが役に立つことを示すために、62年に学生のシドニー・マーシャルとDOPE(Dartmouth Over-simplified Programming Experiment)という言語を試作した。しかし、FORTRANやAlgolを意識すると代数の知識が必要な言語になってしまう。ケメニーとカーツは、ADD、INPUT、GO TO、ENDなど命令になりえる約200の単語を選択し、構文を検討してコンパイラの設計に着手した。そして、ビギナー向けの汎用言語という目的に沿って名称を考えるうちに、「Beginner's All-purpose Symbolic Instruction Code」の頭文字BASICの名にたどり着いた。

ケメニーとカーツは、マサチューセッツ州リンのGEのオフィスにあったコンピュータを時間借りし、63年9月にコンパイラの記述を開始し約半年で最初のバージョンを仕上げた。バッチ処理コンピュータで開発したため、最初のBASICはインタープリタではなかった。かれらはインタープリタが望ましいと考えながらも、TSSに処理負荷がかかると考えコンパイラ言語として設計を始めた。

最初のBASICには14種類のステートメントと2種類のデータ型しかなく、コンパイラであっても処理時間を10秒以内に抑えることができた。BASICはTSSで低負荷で実行できる言語となり、非力なコンピュータでも使いやすい言語だと評価された。NSFの助成により開発したため、ケメニーとカーツは無料で誰にでも使えるようにした。

関連記事
新刊情報
5G NR(新無線方式)と5Gコアを徹底解説! 本書は2018年9月に出版された『5G教科書』の続編です。5G NR(新無線方式)や5GC(コア・ネットワーク)などの5G技術とネットワークの進化、5...
攻撃者視点によるハッキング体験! 本書は、IoT機器の開発者や品質保証の担当者が、攻撃者の視点に立ってセキュリティ検証を実践するための手法を、事例とともに詳細に解説したものです。実際のサンプル機器に...
本書は、ブロックチェーン技術の電力・エネルギー分野での応用に焦点を当て、その基本的な概念から、世界と日本の応用事例(実証も含む)、法規制や標準化、ビジネスモデルまで、他書では解説されていないアプリケー...