質問: 1972年にアメリカのAT&Tベル研究所で開発された、コンピューターのプログラミング言語は何?
回答: C言語

タイトル: プログラミング言語年表
この頃に登場したC言語とその派生言語は2000年代に入った現在でも広く使用されている。オブジェクト指向プログラミングの概念が登場し、のちにSimula (C++) 系統とSmalltalk系統に分かれることになる。

タイトル: ブライアン・カーニハン
多くのプログラミング言語入門書で、最初のプログラムとして書かれる Hello world は、彼がベル研究所で書いたB言語に対するチュートリアルで初めて使われたものである。いわゆる『K&R』のKとして広く知られているが、2003年の本人インタビューによると、C言語の設計にカーニハンは全く関わっていない(完全なるデニス・リッチーの仕事)であるという。また UNIX 上で開発されたプログラミング言語 AWK 名前の「K」は彼の名前の頭文字である。

タイトル: プログラミング言語
「コンピュータ」(という語)の定義次第ではあるが、それを「コンピュータ・プログラムによって駆動される機械」とするならば、コンピュータ・プログラムはコンピュータとともに生まれ、育ったということになり、そのプログラムの記法としてプログラミング言語があった、ということになる。チャールズ・バベッジが階差機関に続いて計画した解析機関は、パンチカードの先祖と言えるような穴の開いた厚紙の列によって制御されるという機構を持っていたため、その特徴から「19世紀のコンピュータ」「蒸気動力のコンピュータ」などと呼ばれることがある。20世紀初頭には、タビュレーティングマシンによってパンチカードを使ったデータの機械処理が始まっている。

タイトル: EDA (半導体)
1990年代後半よりHDLより抽象度の高い記述を可能とする言語の開発が始まった。C/C++を元にしたSystemC、SpecCや既存のVerilogの拡張であるSystemVerilogなどである。これらはシステム記述言語などと呼ばれる。プラットフォームはサン・マイクロシステムズを中心とした各種ワークステーションのシェア向上が続いたが、PCの性能向上によりLinuxを使う動きがでてきた。Windows NTおよび後継のサポートもされるようになってきた。2000年以降、ハードウェアとしてPC/AT互換機を、OSとしてWindowsやLinuxを使う動きが加速している。

タイトル: 第五世代コンピュータ
また朝日新聞などのマスコミも大々的に取り上げた。1992年、およそ11年の歳月と540億円の予算が費やされたプロジェクトの完遂後に判明したのは、今後の有益なアプリケーションの実装と運用が期待される将来性を後世に託した並列推論マシンの数々のモデルと、その専用オペレーティングシステムと、日本独自の並行論理プログラミング言語だけが誕生したという事実であった。ICOT側が掲げていた目標は達成されていたが、産業分野や学術分野への具体的な活用方法は示されておらず、自動推論に必要な肝心の知識情報データベースの構築方法も、それぞれの運用現場への宿題にされたままだった。日本は10年の歳月をPrologと並行論理の研究に費やしたが、論理プログラミングの国際学会では日本の研究成果が注目されたとは言い難く、PrologのISO規格化の場でも大きな影響力を持てなかった。

タイトル: C言語
 ASR-37は1967年制定の旧ASCII ISO R646-7bitにもとづいており、「{」および「}」の入力を行うことができたが、当時は一般的に使われていた入力端末ではなかった。 当時PDP-11の入力端末として広く使われていたのはASR-33であるが、これは1963年制定の旧ASCIIであるASA X3.4に準拠しており、「{」や「}」の入力を行うことはできなかった。このことは、ブロック構造に「{」や「}」を用いるC言語(さらに元をたどればB言語)は、当時の一般的な環境では使用不可能であったことを示している。 これは、C言語はその誕生当初にあっては一般に広く使われることを想定しておらず、ベル研究所内部で使われることを一義的に考えた言語であったという側面の表れである。

タイトル: コンピュータ言語
コンピュータ言語(コンピュータげんご)とは、コンピュータにおいて用いられる言語の総称である。一般に人工言語で、もっぱら形式言語である(親しみやすさなどの目的で、自然言語風にデザインされることもある)。プログラムを記述するためのプログラミング言語の一群が最も有名であり、そのため「コンピュータ言語」と「プログラミング言語」は同じ意味で使われることもある。しかし、コンピュータ言語としては他にもハードウェア記述言語や、マークアップ言語のようなデータ記述言語などがあり、それらは「プログラミング言語」ではない。

タイトル: 数値解析
 コンピュータの発明により、汎用的なプログラミングが可能になり、また人の手より速くより多くの計算を実行できるようになった。種々のアルゴリズムのプログラムが実装され、またコンピュータ自身の特性に合わせてアルゴリズムが考案されるようになった。

タイトル: プログラミング
このような先駆者の発明をさらに発展させたのがハーマン・ホレリスであり、1896年にタビュレイティング・マシン・カンパニー(Tabulating Machine Company、後のIBM) を設立した。彼はホレリス式パンチカード、タビュレーティングマシン、キーパンチ機などを発明した。これらの発明が情報処理産業の基礎となったのである。1906年には、タビュレーティングマシンにプラグボードを追加することで、組み替えれば様々な仕事ができるようになった。これがプログラミングへの第一歩である。1940年代には、プラグボードによるプログラマブルな機械が各種登場していた。初期のコンピュータにもプラグボードでプログラムを組むものがあった。フォン=ノイマン・アーキテクチャの発明により、プログラムをコンピュータのメモリに格納できるようになった。

タイトル: BASIC
Visual Basicでは、業務用のソフトウェア、プロフェッショナル用のソフトウェアなども多数開発されるようになった。Visual Basicは旧BASICとは異なり、もはや「初心者用」でも「ホビー用」でもなかった。C言語やC++同様に、プロでもその気になればまともに使える言語になったのである。また、「PC/AT互換機とWindowsの組み合わせ」というプラットフォームが一般化したことで、1970年代や1980年代には起きていた「BASICの方言の乱立」の問題が解消されてゆくことになった。Windowsが走るマシンであれば、どのメーカーが製造したパソコンであろうが、MicrosoftのVisual Basicが「標準的なBasic」という位置づけになってゆき、いわば「標準語」のようなものがひとつに定まったのである。

タイトル: 二村良彦
1965年、北海道大学理学部数学科を卒業し、同年日立製作所に入社。同社の中央研究所に所属し、HITAC 5020のシステムソフトウェア開発などに携わった。その際の、「LISP 1.5 Programmer's Manual」に書かれているLispインタプリタのコードを読み解いて、Lispコンパイラをプログラミングする、という仕事から得た、インタプリタを入力するとコンパイラが出力されるコンパイラジェネレータはコンピュータのプログラムとして作れるのではないかという着想を、それらの処理系の関係は「自己適用可能な部分評価系」を利用してエレガントに定式化できる、という美しい理論に結実させた(1971年)。

タイトル: Unixの歴史
ただし、実際にUNIXが他のマシンに移植されたのは1978年になってからであり、1973年のバージョン4の段階ではC言語で書き直されたといってもPDP-11に依存したコードが多数存在しており、移植性は低かった。UNIXの存在は、1973年に開催されたAssociation for Computing Machinery(ACM)のOSに関するシンポジウムにおける発表において公にされた。これにより、UNIXを使いたいという声がベル研究所外部で高まることになった。しかし、1956年の独占禁止法違反の訴訟での和解判決合意により、ベル研究所の親会社であったAT&Tはコンピュータ産業への進出を禁止されており、電話技術以外のあらゆる研究成果を希望者にライセンス供与することを義務づけられていた。このため、AT&TはUNIXを商用販売することができず、メディア代と送料だけで出荷することになった。

タイトル: ポケットコンピュータ
CASLは、もともと情報処理技術者試験のために制定された、しかも特定のメーカーに結びつかないように制定された、架空のアセンブリ言語であり、あくまで「架空のマシンCOMETで動く」と試験中の設問で設定されているもの、あくまで「紙の上のマシン」であったが、(画期的なことに)後期の一部のポケットコンピュータはこのCASLを動かせる実機となった。ただしアセンブリ言語と言ってもエミュレーションであることに変わりはなく、必ずしもBASICより高速とは限らなかった。またCASLはその仕様によりBASICよりも機能が限られているため、必ずしも実用的な言語というわけではなかった。

タイトル: Logic Theorist
Logic Theorist は、1955年から1956年にかけてアレン・ニューウェル、ハーバート・サイモン、J・C・ショーが開発したコンピュータプログラム。人間の問題解決能力を真似するよう意図的に設計された世界初のプログラムであり、「世界初の人工知能プログラム」と称された。ホワイトヘッドとラッセルの『プリンキピア・マテマティカ』の冒頭の52の定理のうち38を証明してみせ、一部については新たなもっと洗練された証明方法を発見している。

タイトル: C言語
1980年代に普及し始めたパーソナルコンピュータ (PC) は当初、8ビットCPUでROM-BASICを搭載していたものも多く、BASICが普及していたが、1980年代後半以降、16ビットCPUを採用しメモリも増えた(ROM-BASIC非搭載の)PCが主流になりだすと、Turbo CやQuick Cといった2万円程度の比較的安価なコンパイラが存在したこともあり、ユーザーが急増した。8ビットや8086系のPCへの移植は、ポインタなどに制限や拡張を加えることで解決していた。1990年代中盤には、最初に学ぶプログラミング言語としても主流となった。また、同時期にはゲーム専用機(ゲームコンソール)の性能向上とプログラムの大規模化、マルチプラットフォーム展開を受け、メインの開発言語がアセンブラからC言語に移行した。

タイトル: FORTRAN
顧客はアセンブリ言語で記述されたコードに匹敵するパフォーマンスが得られない限り高級言語を採用しないので、最初から最適化コンパイラが開発された。この新しい方法がハンドアセンブルより高速に動作するかどうかには疑いの目があったが、プログラム中の命令数を1/20に削減できるので急速に受け入れられていった。IBMの社内誌であるThinkに掲載された1979年のインタビューでバッカスは「私がこの仕事をしたのは面倒くさがりだったからです。私はプログラムを書くことが好きではなかったので、IBM 701でミサイルの軌道計算プログラムを開発したときに、プログラムの開発を簡単にするためにプログラミングシステムを作り始めました。」と語っている。FORTRANは科学者の間で数学を応用したプログラムの記述に広く用いられたことから、より高速で効率的なコードを出力しようとする原動力となった。

タイトル: アデル・ゴールドスタイン
アデル・ゴールドスタイン(Adele Goldstine、旧姓カッツ(Katz)、1920年12月21日 - 1964年11月)は、アメリカ合衆国の数学者・プログラマである。彼女は、世界初の電子コンピュータENIACの取扱説明書を執筆したことで知られる。また、ENIACをプログラム内蔵方式に改造する際にも重要な役割を果たした。

タイトル: S言語
■カテゴリ / ■テンプレートS言語(えすげんご)とは、1984年、AT&Tベル研究所の John Chambers, Rick Becker, Allan Wilks らによって研究・開発された統計処理言語である。当初は「Sシステム」と呼ばれ、UNIX上における統計処理を行うソフトのコマンドの役割を果たす言語として開発された。 その後、機能の拡張を続け1988年にプログラミング言語としてのS言語が策定された。さらに1991年にオブジェクト指向プログラミングの機能が追加され現在に至る。言語の特長は Chambers によって、to turn ideas into software, quickly and faithfully と説明されている。GNUプロジェクトによりオープンソースで作成されているR言語はS言語の文法を取り入れており、ほぼ同等の機能をもつ。

タイトル: ソフトウェア工学
1949年のEDSACにおいて既に、ローダが初歩的なアセンブラの機能を備えていたことが知られる。1950年前後には、EDSACやEDVACといった初期のコンピュータにおけるプログラミングについて文献が公刊され、初歩的なプログラミング手法が知られるようになった。言語としては、直接バイナリで機械語を記述する煩雑さから、すぐにアセンブリ言語が生まれた。1950年代中ごろには Autocode、FORTRAN、LISPといった初期の高水準言語があらわれた。プログラミング言語の実用性を疑う向きも多かったことから、IBMが開発したFORTRANコンパイラは、初めての試みであるにもかかわらず、生成コードの最適化のために多大なコストが掛けられ、結果としてプログラミング言語の有効性を納得させた。

タイトル: PWB/UNIX
PWB/UNIXは、UNIXオペレーティングシステム黎明期にAT&Tのベル研究所で開発されたバリエーションのひとつ。PWBとは Programmer's Workbench(プログラマの仕事台)を意味する。

タイトル: Fortress
Fortress(フォートレス)は、高性能を目指して設計されたプログラミング言語である。米国国防高等研究計画局の高生産性計算機システムプロジェクトの出資のもとサン・マイクロシステムズ研究所で作られた。設計者の一人にガイ・スティール・ジュニアがいる。

タイトル: 3Bシリーズ (コンピュータ)
1985年、AT&Tは、AT&T UNIX PC (英語版) と正式に命名されたデスクトップコンピュータを発表し、しばしば 3B1 と呼ばれた。ただし、このワークステーションはハードウェア的には 3B ラインとは無関係であり、Motorola 68010 マイクロプロセッサをベースにしていた。Convergent Technology 社による Unix System V Release 2 の派生版を使用していた。このシステムは PC-7300 としても知られていた。このシステムは、オフィス環境での生産性向上ツールとして、また電子通信センターとしての使用を目的に設計された。

タイトル: ナサニエル・ロチェスター
ネイサン・ロチェスター (Nathan Rochester) として知られる、ナサニエル・ロチェスター(Nathaniel Rochester、1919年1月14日 - 2001年6月8日)は、IBM 701を設計し、最初のアセンブリ言語を書き、人工頭脳分野の創設に参加した、アメリカ合衆国の計算機科学者。

タイトル: FORTRAN
またライブラリでなく言語として複素数型をサポートしたことは、電気電子工学における動的特性の計算などに代表される科学や工学分野のプログラムを書きやすくした。1960年までに様々なバージョンのFORTRANがIBM 709、IBM 650、IBM 1620、IBM 7090で動作していた。FORTRANのユーザー数は急増し、コンピューターメーカーがFORTRANコンパイラをこぞって提供したので、1963年までには40を超えるFORTRANコンパイラが存在していた。こうしたことから、FORTRANはアーキテクチャの異なる様々なコンピュータで広くサポートされた最初の言語と言える。FORTRAN開発の歴史は、初期のコンパイラ技術の歴史そのものといえる。FORTRANで効率的なコードを出力したいという強い要求からコンパイラによる最適化技術が大きく進歩した。

タイトル: Micro Instrumentation and Telemetry Systems
これは、彼らの友人のポール・ギルバートがコンピュータを構築している間に、アレンがタイムシェアリングコンピュータPDP-10上で8008をシミュレートするプログラムを書いたもので、ハードが完成する前にソフトウェアを書いてデバッグすることができた。ハーバード大学には学生が自由に使用できるPDP-10があった。彼らはそれを使ってAltair用のBASICを開発した。アレンが8008用のソフトウェア開発ツールを8080用に修正している間、ゲイツは黄色のリーガルパッドに8080のアセンブリ言語を手書きで書き始めた。また、ゲイツの同級生のモンティ・ダビドフに浮動小数点演算ルーチンを書くように依頼した。2月上旬までには、プログラムのコーディングが手書きからPDP-10上で行われるようになり、1975年3月までに試作版が完成した。

タイトル: C言語
C言語は、当初はあくまでもOS上で動くユーティリティを作成する目的で作り出されたものであり、OSのカーネルを記述するために使われるようになるのは後の展開である。アセンブラとの親和性が高いために、ハードウェアに密着したコーディングがやりやすかったこと、言語仕様が小さいためコンパイラの開発が楽だったこと、小さな資源で動く実行プログラムを作りやすかったこと、UNIX環境での実績があり、後述のK&Rといった解説文書が存在していたことなど、さまざまな要因からC言語は業務開発や情報処理研究での利用者を増やしていった。特にメーカー間でオペレーティングシステムやCPUなどのアーキテクチャが違うUNIX環境では再移植の必要性がしばしば生じて、プログラムをC言語で書いてソースレベル互換を確保することが標準となった。C言語の開発当初に使われた入力端末はASR-37(英語版)であったことが知られている。