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

関連するWikipedia記事の抜粋:
title: FORTRAN
text: FORTRAN(フォートラン)は、1954年にIBMのジョン・バッカスによって考案された、コンピュータにおいて広く使われた世界最初の高水準言語である。
title: パーソナルコンピュータ史
text: アップルコンピュータを興したスティーブ・ジョブズが1976年に、ガレージで製造したワンボードマイコンのApple I(スティーブ・ウォズニアックによる設計)を販売、ごく少数販売するに留まったが、翌年発売したApple IIは大成功を収め同社の基礎を作るとともにパーソナルコンピュータの普及を促した。これは整数型BASICインタプリタをROMで搭載し、キーボードを一体化、カラービデオディスプレイ出力機能を内蔵したもので、今日のパーソナルコンピュータの基本的な構成を満たしている。Apple IIはオープンアーキテクチャであったため多くの互換機をも生み出すこととなり、同時にシェアも奪われることにつながった。後に互換機メーカーへの警告や提訴を行ったが、互換機メーカーが無くなることはなかった。
title: ベル研究所
text: 1970年代以降、ベル研究所でも世の流れに乗って、コンピュータ関連の発明が多くなってくる。1970年、それまでUNIXオペレーティングシステムの記述言語として使っていたインタプリタ方式のB言語の後継として、デニス・リッチーがC言語を開発した。1971年、コンピュータを使った電話交換機用のタスク優先度制御システムを Erna Schneider Hoover が開発し、世界初のソフトウェア特許を取得した。1976年、ジョージア州で世界初の光ファイバー通信システムの試験を行った。1978年、デニス・リッチーとブライアン・カーニハンがC言語の事実上の規格書『プログラミング言語C』を出版。1980年、世界初のワンチップ32ビットマイクロプロセッサ BELLMAC-32A がデモンストレーションで動作した(製品化は1982年)。
title: RPL (プログラミング言語)
text: RPLは、ヒューレット・パッカード社(HP社)が開発した小型電卓のオペレーティングシステム (OS) の一部であり、アプリケーションプログラミング言語である(初期開発者によるとReverse Polish Lispに由来する。一方、HP社のマーケティングは1987年の短い期間の間、RPLから逆にROM-based Procedural Languageという意味をこじつけで作り出そうとした)。
title: Tert-ブチルヒドロキノン
text: 創設者には、マービン・ミンスキー、ジョン・マッカーシー(LISP言語発明者)などがいた。1950年代から1970年代にかけて、彼らは自らが開発したタイムシェアリング方式のオペレーティングシステム ITS を載せたコンピュータ(当初はPDP-6、後にPDP-10)を共有して使っていた。
title: 西條遊児
text: WEB(ウェブ)は、ドナルド・クヌースによって設計および開発されたプログラミングの仕組みであり、TeX の実装に用いられていることで知られる。
title: 計算機の歴史 (1960年代以降)
text: Altair 8800 は Intel 8080 マイクロプロセッサを使った世界で初めて商業的成功を収めたマイコンキットであり、世界初の量産されたマイコンキットである。1万台が出荷された。また、これに触発されたポール・アレンとビル・ゲイツがBASICインタプリタ「Altair BASIC」を開発し、後にマイクロソフトを創業することになった。
title: ノートンライフロック
text: 1982年、人工知能や自然言語の研究家であるゲイリー・ヘンドリックスが自身の研究のためにシマンテックを設立し、当初は人工知能や、それに関連するデータベースソフトウェアの研究に注力した。1984年にC&Eソフトウェアと合併したことから本格的にコンピュータソフトウェアの事業に乗り出し、翌1985年には最初の製品として、データベースソフトウェアにワープロソフトを兼ね備えたソフトウェア\"Q&A\"を発売した。
title: アラン・ケイ
text: 1970年、ケイはゼロックス社のパロアルト研究所の設立に参加した。パロアルト研究所には1970年代を通じて在籍し、自ら提唱する理想端末「ダイナブック」を、当時利用可能な技術で具現化した暫定的ハードウエアである「Alto」と、エンドユーザーが自在にプログラミング可能で、それを全方面からサポートする機能を有する暫定的環境「Smalltalk」の開発において指導的立場をとった。このSmalltalk環境の動作するAlto(暫定ダイナブック)を見学する機会を得たスティーブ・ジョブズが、そのアイデアを大いに取り入れてLisa、続くMacintoshを開発した、というのは有名な話である。
title: BASIC
text: 1964年、米国ダートマス大学にて、数学者ジョン・ケメニー(1926年-1992年)とトーマス・カーツ(1928年-)により、教育用などを目的としてダートマスBASICが開発された。これは同時期にともに開発された、タイムシェアリングシステムDTSS上のラインエディタ(テレタイプ端末環境)で利用されるよう設計されていた。
title: Project MAC
text: Project MAC に従事した人々の中には、後にコンピュータ業界に大きな足跡を残した人がいる。ロバート・メトカーフはパロアルト研究所に移ってからイーサネットを発明し、後に3COM社を設立した。また、世界初の表計算ソフトであるVisiCalcを書いたボブ・フランクストンは、VisiCalcの初期のプロトタイプ作成のために Multics を使用したという。
title: スタック
text: 機械語命令の体系がスタック指向プログラミング言語に類似している、すなわち、命令のオペランドがスタックであるマシンをスタックマシンと言う。最も有名なものとしてバロース B5000がある(B5000は、高水準言語(ALGOL)のサポートを目的として、前述のコールスタックもアーキテクチャでサポートしているが、コールスタックをアーキテクチャでサポートしている、という意味では「スタックマシン」の語は使わない)。
title: Microsoft Word
text: ゼロックスのパロアルト研究所で開発された世界初のGUI式ワードプロセッサであるBravo(英語版)を開発したチャールズ・シモニーが1981年にマイクロソフトへ入社し、Multi-Tool Wordとしてワープロの開発を開始した。ゼロックスでインターンとして働き、後にワード開発の主要メンバーとなったリチャード・ブロディを間もなく採用した。ブロディは後にマイクロソフトを退社して著述業へ転身した。
title: ランタイムシステム
text: 初期のランタイムシステムで特筆すべきは、BASICとLispのインタープリターである。これらの環境にはガベージコレクターも含まれていた。Forthは中間言語コードにコンパイルすることを想定した言語の初期の例である。Forthのランタイムシステムは、Forthのコードを解釈する仮想マシンであった。もう1つの有名な例は、理論上のものであるが、ドナルド・クヌースのMIXコンピューターである。
title: ハイパーテキスト
text: 1980年、ティム・バーナーズ=リーはENQUIREを開発した。ENQUIREは初期のハイパーテキストデータベースシステムで、いくぶんかウィキに似たものだった。1980年代の終わり、当時CERNに所属していたバーナーズ=リーは、世界中に分散する別々の大学や研究所で働いている研究者たちが自動的に情報を共有する、という要求に対してWorld Wide Webを開発した。
title: PDP-10
text: PDP-10は、1960年代後半からディジタル・イクイップメント・コーポレーション(DEC)が製造したメインフレームファミリ。PDPシリーズコンピュータのひとつ。1966年に最初の機種が出荷された。タイムシェアリングシステムを一般に浸透させたマシンであり、多くの大学や研究機関で採用されたことから1970年代のハッカー文化に大きな影響を与えた。PDP-10を導入した主な大学/研究機関としては、MITの人工知能研究所およびProject MAC、スタンフォード大学のSAIL、カーネギーメロン大学などがある。
title: プログラミング言語
text: 1940年代、世界初の電子式デジタルコンピュータ群が製作された。1950年代初期のコンピュータであるUNIVAC IやIBM 701では機械語を使っていた。機械語によるプログラミングは、間もなくアセンブリ言語によるプログラミングに取って代わられた。1950年代後半になると、アセンブリ言語でマクロ命令が使われるようになり、その後 FORTRAN、LISP、COBOLという3つの高水準言語が開発された。これらは改良を加えられ現在でも使われており、その後の言語開発に重大な影響を与えた。1950年代末、ALGOLが登場し、その後の言語に様々な影響を与えている。初期のプログラミング言語の仕様と使い方は、当時のプログラミング環境の制約(パンチカードによるプログラム入力など)にも大きく影響されている。
title: ダートマスBASIC
text: ダートマスBASIC(Dartmouth BASIC)は、プログラミング言語BASICの元祖となった処理系である。ダートマス大学で設計・実装されたため、そのように呼ばれている。ジョン・ケメニーとトーマス・カーツ(英語版)がDTSS (Dartmouth Time Sharing System) の一部として設計した言語であり、対話的な使用を意図した初期のプログラミング言語の1つである。
title: Incompatible Timesharing System
text: Incompatible Timesharing System(ITS)は、マサチューセッツ工科大学(MIT)で開発された初期のタイムシェアリングオペレーティングシステム(OS)の1つ。アセンブリ言語で書かれており、CTSS(Compatible Time-Sharing System)との対比で名づけられている。主にMIT人工知能研究所で開発され、Project MACからも何らかの助力があった。
title: APL
text: APL(エーピーエル)は、プログラミング言語のひとつで、1957年のケネス・アイバーソンによる創案に基づいた独特の表記法を用いる。処理系の実装は、ほとんどが対話型インタプリタである。とくに多次元配列の柔軟な処理が特徴である。「APL」は「プログラミング言語」(a programming language) の略であるが、言語の特性から、ときに「配列処理言語」(array processing language) などとされる。
title: RPL (プログラミング言語)
text: RPLはRPNに基づいた構造化プログラミング言語であるが、数値だけでなく代数式や方程式も扱える。RPLはスレッド化されたインタプリタとして実装されている。RPLはForth言語と多くの類似点がある。両言語はスタック指向であり、Lispのようなリスト指向だけではない。以前のHP社のRPN電卓(4レベル固定スタック)に反して、RPLが使えるスタックは利用可能な電卓のRAMさえ余っていれば、スタックのレベル数を増やせる。
title: ADM3A
text: カリフォルニア大学バークレー校のビル・ジョイは、ADM3Aが導入されたことをきっかけに、1979年5月にUnixの2BSDで、C shellやテキストエディタのviを開発してリリースした。
title: アセンブリ言語
text: 歴史的には多数のプログラムがアセンブリ言語だけで書かれてきた。ALGOLの方言であるESPOLで書かれた Burroughs MCP (1961) が登場するまで、オペレーティングシステムはアセンブリ言語で書くのが普通だった。商用アプリケーションもアセンブリ言語で書かれている。例えば、IBMのメインフレーム用ソフトウェアの多くはアセンブリ言語で書かれていた。COBOL、FORTRAN、PL/I などが取って代わっていったが、1990年代になってもアセンブリ言語のコードベースを保守し続けていた大企業も少なくない。
title: C言語
text: C言語(シーげんご、英: C programming language)は、1972年にAT&Tベル研究所のデニス・リッチーが主体となって開発した汎用プログラミング言語である。英語圏では「C language」または単に「C」と呼ばれることが多い。日本でも文書や文脈によっては同様に「C」と呼ぶことがある。制御構文などに高水準言語の特徴を持ちながら、ハードウェア寄りの記述も可能な低水準言語の特徴も併せ持つ。基幹系システムや、動作環境の資源制約が厳しい、あるいは実行速度性能が要求されるソフトウェアの開発に用いられることが多い。後発のC++やJava、C#など、「C系」と呼ばれる派生言語の始祖でもある。ANSI、ISO、またJISにより言語仕様が標準規格化されている。
title: インタプリタ
text: 最初の Lisp インタプリタはスティーブ・ラッセルが IBM 704 上に実装した。これにはエピソードがあり、ジョン・マッカーシーが「Lisp の論文」で「数学的」に示したものだったのであるが、マッカーシー自身は実装できるものだとは考えていなかった。それを、論文を読んだ、院生であったラッセルが、実装可能だと言って数学的な記述から変換して機械語で実装してみせたという。
title: M4 (プログラミング言語)
text: m4 は、ブライアン・カーニハンとデニス・リッチーが設計した汎用テキストマクロプロセッサである。その名称は「macro」(マクロ)の「m」と、AP-3ミニコンピュータでデニス・リッチーがそれ以前に書いたマクロプロセッサ「m3」の次、というところから来ている。
title: 田中慎弥
text: J・C・ショー (J.C.Shaw)、クリフ・ショー (Cliff Shaw) として知られた、ジョン・クリフォード・ショー(John Clifford Shaw、1922年 – 1991年)は、ランド研究所に所属したアメリカ合衆国のシステム・プログラマ。世界初の人工知能プログラムとされる Logic Theorist の共同開発者のひとりであり、1950年代のプログラミング言語であるInformation Processing Language (IPL)の開発者のひとりである。IPLは、JOSS言語の真の「父」であると考えられている。プログラミングの歴史における最も重要な出来事のひとつは、IPL-V言語の開発過程における、アレン・ニューウェル、ハーバート・A・サイモンとクリフ・ショーの3人による「リスト処理」という概念の開発であった。
title: Turbo C
text: Turbo C は、ボーランドが開発したC言語用統合開発環境とコンパイラの名称。1987年に登場し、当時としては先進的な統合開発環境とサイズが小さくコンパイルが高速な点、マニュアルが充実していて低価格な点などが評価された。
title: ペンタブレット
text: ペン状のデバイスでコンピュータを操作する(ペンコンピューティング)と言う古い時代のアイデアとしては、1950年代後半のTom DimondによるStylator (stylus translator) というものが挙げられる。続いて、1960年代にはRAND Tablet(英語版)が生産された。
title: パーソナルコンピュータ
text: 「パーソナルコンピュータ」という用語は、1972年(昭和47年)にアラン・ケイがACM National Conferenceで発表した\"A Personal Computer for Children of All Ages\"の中で使用された。ここでは「個人のための理想のコンピュータ」という意味であり、それを「ダイナブック」と命名した。
title: HP Saturn
text: HP Saturnとは、1980年代にヒューレット・パッカード社によって開発された、関数電卓あるいは小型コンピューター向けの、4bitマイクロプロセッサのシリーズである。
title: バロース B5000
text: B5000はしたがって非常に強力な言語に基づいている。他のベンダーはALGOLコンパイラの実装を試みたが、実装できなかったという。しかし、当時学生だったドナルド・クヌースは、夏休み期間中にバロースの以前のマシン上に ALGOL-58 を実装した。ALGOLなどの高級言語はアセンブリ言語と同等の能力がないと思われがちで、ALGOLのシステム記述言語としての潜在能力に気づいていなかった。この風潮はC言語が開発されるまで続いた。
title: ダグラス・エンゲルバート
text: ダグラス・エンゲルバート(Douglas Carl Engelbart、1925年1月30日 - 2013年7月2日)は、アメリカ合衆国の発明家で、初期のコンピュータやインターネットの開発に関与した。特に、SRIインターナショナル内の Augmentation Research Center (ARC) で行ったヒューマンマシンインタフェース関連の業績で知られており、そこでマウスを発明し、ハイパーテキストやネットワークコンピュータやグラフィカルユーザインタフェースの先駆けとなるものを開発した。
title: Python
text: Python(パイソン)はインタープリタ型の高水準汎用プログラミング言語である。グイド・ヴァン・ロッサムにより創り出され、1991年に最初にリリースされたPythonの設計哲学は、有意なホワイトスペース(オフサイドルール)の顕著な使用によってコードの可読性を重視している。その言語構成とオブジェクト指向のアプローチは、プログラマが小規模なプロジェクトから大規模なプロジェクトまで、明確で論理的なコードを書くのを支援することを目的としている。
title: ジョン・モークリー
text: モークリーとエッカートは共同で世界初のコンピュータ会社エッカート・モークリー・コンピュータ(EMCC)を設立し、プログラム内蔵方式、サブルーチン、プログラミング言語などのコンピュータに関する基本的な概念を開拓した。彼らの研究は、世界で広く読まれたEDVACに関する報告書の第一草稿(1945年)や、1946年夏に開かれたムーア・スクール・レクチャー(英語版)で取り上げられ、世界中で1940年代後半のコンピュータ開発の爆発的な増加に影響を与えた。
title: HP-35
text: HP-35 は、ヒューレット・パッカード(HP)初のポケット電卓であり、世界初の「ポケットに入る関数電卓」である。HPの他の電卓と同様、逆ポーランド記法を採用している。発売当時の価格はアメリカで395ドルであり、1972年から1975年まで販売された。
title: IBMメインフレーム用オペレーティングシステムの歴史
text: 1958年にミシガン大学はコンピュータシステムにGM-NAA I/Oを採用し、学生が書いた小さなジョブを大量に処理するのに適したUMESを開発した。UMESは1967年にMTSタイムシェアリングシステムへ置き換わるまで使われた。
title: インターネットの歴史
text: 1989年、CERNに勤務していたティム・バーナーズ=リーはハイパーテキストの概念をネットワーク上で実装したものを発明した。これを無償で公開したため、広く使われる技術となった。World Wide Web (WWW) の発展をもたらした業績により、バーナーズ=リーは2004年のミレニアム技術賞を受賞。初期の人気のウェブブラウザの1つとして、HyperCardにならって作られたViolaWWWがある。
title: BCPL
text: BCPL (Basic Combined Programming Language、Basic-CPL)は手続き型で命令型の構造化プログラミング言語である。BCPLは元々ほかの言語を開発するために記述されたコンパイラであり、90年代以降は利用されていない。しかしながらBCPLはB言語の基礎となっており、B言語から派生したC言語は文法的にBCPLの亜種であるといえるため、その影響は現在にも色濃く残されている。BCPLは今日のモダンなプログラミング言語に見られる、カッコやデリミタなどの特徴を備えていた。1966年にケンブリッジ大学のマーティン・リチャーズ(英語版)が設計した。
title: データフロープログラミング
text: データフロー言語は本来、並列プログラミングを容易にする目的で開発された。1966年の Bert Sutherland の論文 The On-line Graphical Specification of Computer Proceduresでは、グラフィカルなデータフロープログラミングのフレームワークが生み出された。その後のデータフロー言語は大型のスーパーコンピュータを持つ研究所で開発されたものが多い。よく知られているSISAL(英語版)はローレンス・リバモア国立研究所で開発された。SISALは関数型言語のように見えるが、各変数を一回しか定義できないという制約を設けている。このため、コンパイラは容易に入力と出力を特定できる。SISAL から様々な派生言語が生まれ、その中でもSAC(英語版)(Single Assignment C)はC言語と可能な限り似せた文法となっている。
title: Information Processing Language
text: Information Processing Language(IPL)とは、1956年ごろからランド研究所およびカーネギー工科大学にてアレン・ニューウェル、クリフ・ショー、ハーバート・サイモンが開発したプログラミング言語。ニューウェルは言語仕様設計と同時にアプリケーションのプログラミングも行い、ショーはシステムプログラミング、サイモンはアプリケーションのプログラマとしてもユーザーとしても活動した。
title: TVタイプライター
text: TVタイプライター(ティーヴィータイプライター、テレビタイプライター、TV Typewriter)は、初期のマイクロコンピュータの一種で、標準的なテレビ受像機に32桁16行の大文字のアルファベットを2ページ表示することができるビデオ端末である。ドン・ランカスターが設計し、『ラジオ=エレクトロニクス』(R-E誌)1973年9月号の表紙に登場した。
title: Unixシェル
text: C Shell はビル・ジョイがカリフォルニア大学バークレー校でUnix系OSの一系統の元となったBSD向けに開発した。Version 6 Unixの Thompson shell をベースとしている。C言語をモデルとして構文規則を設計した。対話型の端末で使用することを第一に考えて設計されており、スクリプト言語としてはあまり使われない。C Shell には様々な対話用コマンドがある。
title: コンパイラ
text: 1950年代末までに、プログラミング言語がいくつか提案され、実験的なコンパイラがいくつか開発された。世界初のコンパイラは、1952年にグレース・ホッパーが書いたA-0 Systemだとされることもある。ただし一般的には、1957年にIBMのジョン・バッカスのチームが開発したFORTRANコンパイラが世界初の完全なコンパイラであるとされている。一般的なコンパイラの開発では、まず動くものを作ってから最適化の機能が付け加えられるが、最初のFORTRANコンパイラでは、コンパイラが実用になることを示すために、最初から最適化に労力が向けられた。
title: LOGO
text: 1967年、教育(特に構成主義教育)のために、ダニエル・G・ボブロウ(英語版)、Wally Feurzeig、シーモア・パパート、シンシア・ソロモンによって開発された。名称はギリシャ語の logos (言葉)に由来する。(現代ではいささか想像しにくくなったことであるが)当時代表的な既存言語であったFORTRANや、その影響を受けた言語がもっぱら数値計算を指向したものであったのに対し、「言葉」で操作する言語であるといったようなことを強調したものである。多くの計算機科学の概念を教えるのに使うことができ、例えばカリフォルニア大学バークレー校の講師ブライアン・ハーヴェイ(英語版)は3巻の著書 Computer Science Logo Style にまとめている。
title: Text Editor and Corrector
text: Text Editor and Corrector(略称:TECO)は、1960年代にマサチューセッツ工科大学で開発されたテキストエディタ。当初の名称は[paper] Tape Editor and COrrectorであった。TECOとその派生エディタは、vi(後にUNIXオペレーティングシステムに搭載)やEmacsエディタが普及する以前は広く使われていた。EmacsはTECOの直系の子孫である(TECO用マクロ集の名称だった)。
title: HP-28 シリーズ
text: HP-28 シリーズは、ヒューレット・パッカードが1986年から1992年まで製造していたグラフ電卓かつプログラム電卓である(発売開始は1987年)。HP-28 シリーズは記号的に方程式を解く機能を持った最初の電卓である。HP-28 シリーズによって採用されたメニュー駆動式のRPL (Reverse Polish LISP) プログラミング言語インタフェースは、同社のHP 48 シリーズへと発展した。
title: Microsoft Macro Assembler
text: Microsoft Macro Assembler(マイクロソフト・マクロ・アセンブラ、MASMと略す)はx86系マイクロプロセッサ用のアセンブラである。マイクロソフトがMS-DOS上の開発のために製造し、DOS上では最も普及したアセンブラであった。豊富なマクロと高水準な繰返し(loop)構造、手続き(procedure)呼び出しなどの構造化プログラミングに対応している。高級アセンブラに分類できる。。
title: マイクロソフトの歴史
text: 「ポピュラーエレクトロニクス」1975年1月号に掲載されたAltair 8800の紹介記事を読んだビル・ゲイツとポール・アレンは、その新しいマイクロコンピュータの製造者であるMITSに電話をし、Altair向けBASIC言語インタプリタの実装のデモンストレーションをしたいと提案した。ゲイツの手元にはインタプリタもAltairシステムもなかったが、ゲイツはハーバード大学のコンピュータセンターに設置されていたPDP-10を用いたエミュレーションにより、ポール・アレンと共にインタプリタを開発した。実際には、アレンがAltairに搭載されているCPUであるIntel 8080のマニュアル等を元にAltair8800のエミュレータを開発し、主としてゲイツがその上で動くBASICインタプリタを書く形で開発が進められた。BASICインタプリタの開発には8週間を要した。
title: ホビイストたちへの公開状
text: 公開状の中では、ゲイツが8080や6800用にプログラミング言語APLを製作していることにも触れられている。APLは、1970年代に一部の計算機科学者の間で流行した。この言語は各種の特殊な記号を使用しており、入力や表示には特別な端末を必要とした。ほとんどのホビイスト向けのコンピュータでは、APL用の特殊記号どころか、ラテン文字の小文字さえも表示できなかった。ゲイツはAPLに夢中になっていたが、アレンはこの製品が売れるとは思っていなかった。そのうちにAPLへの関心は薄れ、ソフトウェアは完成しなかった。
title: アップル・ニュートン
text: アップル・ニュートン(英: Apple Newton)は、アップルコンピュータの販売していた世界初の個人用携帯情報端末 (PDA) 。1992年1月に開催されたCESにて、当時のCEOジョン・スカリーがPDAの定義と共に発表、1993年から1998年にかけて販売された。ARMプロセッサを用い、手書き認識機能を備えた。アップルコンピュータはこの装置に「メッセージパッド (MessagePad(英語版)) 」という正式名称をつけていたが、この装置のオペレーティングシステムの名称であった「ニュートン」が、この装置と内蔵ソフトウェアを示す名称として世間では用いられていた。
title: リーナス・トーバルズ
text: アンドリュー・タネンバウムが開発したカーネルとオペレーティングシステム (OS) であるMINIXに刺激を受け、自宅のパーソナルコンピュータ上で動作可能なUNIX OSの必要性を感じ、自分の趣味の時間と自宅の設備でLinuxカーネルの初期の開発を行った。
title: ACE (コンピュータ)
text: 1946年2月19日、チューリングは国立物理学研究所(NPL)運営委員会に世界初のプログラム内蔵式コンピュータの完全な設計に関する論文を提出した。他の同時期のコンピュータと異なり ACEはチューリングが単独で設計したもので、EDVACに関するジョン・フォン・ノイマンの草稿の影響を受けていない。ただし、これに対して全く逆の解釈をとる者もいる。
title: HP 38G
text: HP 38G (F1200A, F1892A)とはヒューレット・パッカード社(以下HP社)によって開発されたプログラミング可能なグラフ電卓である。 教育向けに開発され、HP社の電卓の特徴であるRPN(逆ポーランド記法)を搭載していない。
title: Objective-C
text: Objective-Cは、1983年にBrad CoxとTom Loveによって開発され、そのコンパイラやライブラリを支援するためにStepstone社を創立した。Stepstone社は、Objective-Cに力を注いだが、それはマイナーな存在であった。Objective-Cが認知され始めるきっかけは、1985年、アップルコンピュータを去ったスティーブ・ジョブズが、m68k機であるNeXTコンピュータとNeXTSTEPオペレーティングシステムの開発を行うNeXT Computer社を創立したことに始まる。
title: Manchester Small-Scale Experimental Machine
text: プログラム制御式コンピュータの世界初の設計はチャールズ・バベッジの解析機関で、1830年代のことである。約1世紀後の1936年、数学者アラン・チューリングは後にチューリングマシンと呼ばれるようになる概念を発表した。これは、機械的な計算の限界を考えるための理論上の概念だった。チューリングは実際のマシンを想定したわけではなく、テープに記された命令に従ってテープ上のシンボルの読み書きなどの操作を行う人を \"computer\" と呼んだ。チューリングは、数学の問題を解くアルゴリズムを書ける場合、チューリングマシンでそれを実行できることを証明した。
title: Microsoft Multiplan
text: 開発責任者はチャールズ・シモニー。かつてゼロックスのパロアルト研究所で働いていたシモニーは、Altoで採用されていたGUIの使い勝手の良さを知っており、またAlto上で動作するBravoというワードプロセッサを開発した経験もあり、その利点を取り入れるべくインターフェイスをデザインした。常時表示されるメニューやプロパティシートは、マウスによる操作を想定したものである。Altoの存在を知っていたビル・ゲイツもその思想に賛同していた。
title: REBOL
text: REBOL は、データ交換言語であり、通信や分散処理に特化したプログラミング言語である。Relative Expression Based Object Language の略。設計者カール・サセンラスはこれをメッセージング言語と呼び、「REBOL の主なアイデアは、サーバ、クライアント、その間の通信やそれらのストレージで使える言語にするというものであった。REBOLの能力は、プログラミング言語の概念とメタデータ言語の概念を統合したことに由来する。REBOLの究極の目的は、インターネット上のあらゆる機器間で情報がどのように格納され、交換され、処理されるかを表す新たなアーキテクチャを提供することである。すなわち、人間と機械の間の情報の意味論的交換に使われることを意味する」と述べている。
title: HP 48 シリーズ
text: HP 48 シリーズはヒューレット・パッカード社(HP社)が開発したプログラミング可能なグラフ関数電卓である。HP-28 シリーズの後継機種である。
title: 情報技術史
text: 1946年、ジョン・プレスパー・エッカートとジョン・モークリーにより、最初のコンピュータであるENIAC(エニアック)が開発される。その後、フォン・ノイマンがノイマン型コンピュータを考案し、これが今日のコンピュータの原型となった。
title: HyperCard
text: HyperCard(ハイパーカード)は、ハイパーテキストを実現した最初の商用ソフトウェア。1987年にアップルコンピュータ(当時・現アップル)のビル・アトキンソンが開発した。Macintosh (Classic Mac OS) で動作し、ゲームの制作、簡単なプログラムの開発等に利用される。
title: EDA (半導体)
text: カーバー・ミードとリン・コンウェイの著書『超LSIシステム入門』で、プログラミング言語のコンパイルによって回路を生成することが提唱された。これは論理合成として後に実用化される。
title: オペレーティングシステム
text: なお、1980年代の別の特筆すべき流れとして、GUIを標準装備したアップルコンピュータのMacintoshがある。MacintoshのOS (Mac OS) は、当時の性能的制約から、多くの部分がファームウェアの状態でハードウェアに組み込まれてはいたが、現在でいうウィジェット・ツールキットを含むToolboxと呼ばれるAPI群を持ち、アプリケーションにおけるGUIのデザイン開発をある程度まで標準化した。
title: ワング・ラボラトリーズ
text: ワングは、電卓からワープロ機へと移行する中で、小型コンピュータシステム(日本で言えばオフィスコンピュータ)もリリースしている。1973年5月、Wang 2200 がリリースされた。筐体にディスプレイとキーボード、コンパクトカセットを使った記憶装置を備えていた。BASICインタプリタが動作する。総計 65,000 台が出荷された。その後、デスクトップパソコン型のものや、16台までのワークステーションを接続できる中規模のものが1980年代初めごろまでに登場した。
title: ダグラス・エンゲルバート
text: この提案によりARPAから予算がつき、作業を開始することになった。新たに Augmentation Research Center (ARC) をSRI内に創設し、研究員を集め、oN-Line System (NLS) の開発と設計を主導した。ARCでは、ビットマップ・スクリーン、マウス、ハイパーテキスト、グループウェア、先駆的なグラフィカルユーザインタフェース (GUI) などのインタフェース要素を開発した。彼は1960年代中ごろにユーザインタフェース (UI) のアイデアの多くを考案し開発した。そのころパーソナルコンピュータはもちろんないし、コンピュータは一般の人々には遠い存在で直接使用するなどほとんどあり得なかったし、ソフトウェアも個々のシステム向けの専用アプリケーションとして書かれることが多かった。
title: ツイスター2008
text: Dylan(ディラン)は、プログラミング言語の一種。アップルコンピュータが次世代プログラミング言語を目指し、オブジェクト指向、関数型言語、動的言語、データ抽象化/隠蔽などを取り入れて開発した言語。名称の由来はDynamic Language(動的言語)から。
title: MIX (プログラミング)
text: MIX とは、ドナルド・クヌースが著書 The Art of Computer Programming (TAoCP) で使った仮想計算機である。1960年代に生まれた MIX は、今後の TAoCP の版では MMIX という新たな(仮想の)コンピュータアーキテクチャで置換される予定である。MIX と MMIX のソフトウェア実装(MIXware および MMIXware)はクヌースが開発しており、自由に利用可能となっている。クヌースの MIX/MMIX エミュレータからの派生版も存在する。GNU MDK がその一例で、フリーソフトウェアとして幅広いプラットフォーム上で動作する。
title: インターネットの歴史
text: このころ最も注目されたユーザインタフェースパラダイムがハイパーテキストである。ヴァネヴァー・ブッシュの「Memex」に触発され、テッド・ネルソンのザナドゥ計画やダグラス・エンゲルバートのNLSの研究で開発された。小規模の自己完結型ハイパーテキストシステムはいくつも開発されており、例えばアップルの HyperCard (1987) がある。Gopherはインターネット上で広く使われた最初のハイパーテキスト型インタフェースとなった。Gopherのメニューはハイパーテキストと言えるが、当時一般にはそう認識されていなかった。
title: 西和彦
text: 早稲田大学理工学部の図書館で見たElectronics誌の記事を読み、マイクロソフトにコンタクトし、ビル・ゲイツに面会する。マイクロソフトからBASICインタプリタのカスタム化に応ずるという返事をもらい、TK-80マイコンキットにBASICインタプリタを搭載するプロジェクトを開始する。これが後にPC-8001をNECとマイクロソフトで企画・開発するベースとなった。
title: MetaPost
text: MetaPostはプログラミング言語、およびそのインタプリタの両方を意味する。ドナルド・クヌースが作ったMETAFONTに由来する。PostScript内における図形の描写に優れる。METAFONTの優れた宣言構文を共有している。
title: Text Editor and Corrector
text: TECOは1963年ごろ、マサチューセッツ工科大学のダニエル・マーフィーがPDP-1向けに開発した。当時彼が使えるPDP-1(2台)は別の部門のもので、これらにプログラムのソースコードを供給するには紙テープを使用する必要があった。一方、IBMのメインフレームではパンチカードにソースコードを1行ずつパンチすることができ、カードの上端には人間が読める内容が印字されるようになっていた。このため、IBMのマシンでプログラムを書く際には、カードを並べ替えたり、削除したり、挿入したりといったことが手作業で可能だった。しかし、紙テープにはそのような機能が一切なく、そこからオンライン編集の必要性が生まれた。
title: ブライアン・カーニハン
text: 多くのプログラミング言語入門書で、最初のプログラムとして書かれる Hello world は、彼がベル研究所で書いたB言語に対するチュートリアルで初めて使われたものである。
title: インターネット
text: 1960年、インターネットの前身ARPANETに直接影響を及ぼした概念であるJ・C・R・リックライダーのタイムシェアリングシステムが発表される。
title: 逆ポーランド記法
text: ヒューレット・パッカード社の電卓(HP-35など)が有名で、他いくつかの電卓(特に関数電卓に採用がある)にもあるが、逆ポーランド記法順による入力方法を採用している電卓がある(近年の関数電卓のような数式入力ではなく、計算機械としてスタックモデルであり、それを直接操作しているという形なので、厳密なことを言うと逆ポーランド記法「順」ということになる)。
title: スティーブ・ジョブズ
text: 1979年、ゼロックスからの出資を受け入れる交換条件として、ジョブズの要請により当時ゼロックス管轄の研究所であったパロアルト研究所見学が行われた。その際、ビットマップディスプレイとマウスを前提とする「Alto」で、GUIを実現した「暫定ダイナブック環境」(開発者のアラン・ケイらは、SmalltalkをOSとして動作するAltoをこう呼称した)のデモに大きな衝撃を受けたジョブズは、開発中のLisaに、これと同じ機能を持たせることを考え、自らプロジェクトを率いていくこととなった。Lisaのための最初のAppleマウスは、ジョブズとデビッド・ケリー、ジム・ユルチェンコによりデザインされた。また、そのデザインプロセスがデザイン思考とIDEO誕生のきっかけとなったとデビッド・ケリーがインタビューで答えている。
title: VisiCalc
text: VisiCalcの一部は、メインフレームなどによるタイムシェアリングシステムで広く使われていた表計算プログラムに着想を得ている。例えば、International Timesharing Corporation (ITS) の Business Planning Language (BPL)、Foresight Systems の Foresight などがよく使われていた。ブリックリンは「VisiCalcを作り始めたころ、我々は様々な表計算プログラムに精通していた。実際、ボブは1960年代から Interactive Data Corporation で働いており、そこで表計算ソフトを使っていたし、私もハーバード・ビジネス・スクールで触れたことがある」と記している。
title: UNIX
text: UNIX (ユニックス、Unix、英語発音: [júːniks])は、コンピュータ用のマルチタスク・マルチユーザーのオペレーティングシステムの一種である。公式な商標は「UNIX」だが、商標以外の意味として「Unix」、またはスモールキャピタルを使用して「Unix」などとも書かれる。Unixは1969年、AT&Tのベル研究所にて、ケン・トンプソン、デニス・リッチーらが開発を開始した。現代的なOSの始祖であり、あらゆる後発OSがUNIXで発明・実証された設計を参考にしている。開発開始から半世紀以上に渡る技術の進歩やプロジェクトの変遷により、オリジナルのUNIXのソースコードは既に使われなくなったが、現在でも派生OSの開発は続けられており、特にシステムのバックエンドで動くスーパーコンピュータやサーバ向けの市場では圧倒的な存在感を示している。
title: バッカス・ナウア記法
text: ジョン・バッカスは ALGOLの文法を表現するためにこの記法を考案した。1959年、パリで世界初の国際コンピュータ大会議が開催された際、バッカスは論文を発表した。これは後にALGOL 58と呼ばれる IAL の形式記述であった。彼が発表した形式言語は、Emil Post の生成システムに基づいたものであった。形式文法は数学における研究課題のひとつであり、例えばノーム・チョムスキーは自然言語の文法への適用を研究していた 。
title: ダイナブック
text: ダイナブック(Dynabook)とは、アラン・ケイが提唱した理想のパーソナルコンピュータ(パソコン)である。
title: コンパイラ
text: 初期のコンパイラはアセンブリ言語で書かれていた。世界初の「セルフホスティングコンパイラ」は、1962年にマサチューセッツ工科大学の Hart と Levin が開発したLISPである。1970年代には、特にPascalやC言語などにおいて、コンパイル対象言語でコンパイラを書くことが一般化した。さらにより高水準の言語のコンパイラは、PascalやC言語で実装することも多い。セルフホスティング・コンパイラの構築には、ブートストラップ問題がつきまとう。すなわち、コンパイル対象言語で書かれたコンパイラを最初にコンパイルするには、別の言語で書かれたコンパイラが必要になる。Hart と Levin の LISPコンパイラではコンパイラをインタプリタ上で動作させてコンパイルを行なった。
title: C言語の標準入出力
text: 本記事C言語の標準入出力(シーげんごのひょうじゅんにゅうしゅつりょく)では、C言語で提供される、ファイル入出力用の、標準Cライブラリヘッダ <stdio.h> の大部分を構成する標準Cライブラリ関数について述べる。これらの機能は、1970年代初頭にベル研究所のマイク・レスク(英語版)によって書かれた、「ポータブルI/Oパッケージ」に由来し、正式にVersion 7 UnixでUnixオペレーティングシステムの一部になった。
title: アセンブリ言語
text: アセンブリ言語は、ごく単純なものまで含めれば、プログラム内蔵方式のコンピュータの最初期の1940年代から存在している。EDSAC (1949) の initial orders(現代の用語ではブートローダーに相当するもの)は、テープにパンチされた十進によるアドレスを、内部表現の二進に変換するなどの機能を持っていた(命令については、「1文字のニーモニック」に見えるかもしれないが、それは実際には同機の機械語そのものである)。ナサニエル・ロチェスターは1954年に IBM 701 用アセンブラを書いている。1955年、Stan Poley が IBM 650 用言語アセンブリSOAP (Symbolic Optimal Assembly Program) を開発した。
title: モーリス・ウィルクス
text: 「ウィルクス教授はEDSACの設計者および開発者として最も知られている。EDSACはプログラム内蔵式の世界初のコンピュータである。1949年に開発されたEDSACは水銀遅延線メモリを使った。彼は、1951年の Preparation of Programs for Electronic Digital Computers の著者としても知られている(Wheeler、Gill と共著)。その中でプログラムライブラリという考え方が事実上初めて紹介された」
title: タイムシェアリングシステム
text: TSSの概念の提唱者にはいくつか説がある。一人はASCIIコードの開発者や2000年問題を世界で初めて指摘した人物としても知られているボブ・バーマーで、1957年初めごろに雑誌の記事でその概念を記述している。また、マサチューセッツ工科大学 (MIT) で数学の教鞭をとっていたジョン・マッカーシーも同様のアイデアをほぼ同時期に思いついている(一説には1959年)。さらに1959年にはイギリスのコンピュータ科学者クリストファー・ストレイチーがタイムシェアリングシステムの特許を取得している。ただし、ストレイチーの特許はTSSというよりもマルチタスク方式に関するものであるという見方が最近では一般的である。いずれにしても後世への影響はマッカーシーが一番大きく、後述するCTSSや前述のリックライダーの推進したProject MACは直接影響を受けている。
title: プログラミング言語年表
text: ミニコンピュータの世界では、1970年代に登場したC言語がUnixとともに広く普及した。C言語の最初の標準化は1989年である。一方、1970年代末頃からパーソナルコンピュータが普及しはじめ、8ビットパソコン時代には、その内蔵ROMに書かれた言語としてBASICが爆発的に普及した。
title: ポピュラーエレクトロニクス
text: 『ポピュラーエレクトロニクス』誌の表紙記事では、多くの新製品や新会社が紹介された。その中でも最も有名な1975年1月号では、Altair 8800コンピュータが表紙を飾り、パーソナルコンピュータ革命の火付け役となった。ポール・アレンがその号をビル・ゲイツに見せたことがきっかけで、彼らはAltair用のBASICインタプリタを書き、マイクロソフトを立ち上げた。
title: プログラミング言語C
text: 『プログラミング言語C』(原題:The C Programming Language)は、ブライアン・カーニハン (Brian W. Kernighan) とデニス・リッチー (Dennis M. Ritchie) によって書かれたC言語についての書籍である。著者名の頭文字からしばしばK&Rと略される。
title: APL
text: APLはタイムシェアリングシステムで利用できる対話型インタプリタのある言語として注目を集めた。しかしながら、FORTRANほどに普及することはなかった。
title: Squeak
text: 1970年代のパロアルト研究所での俗に言う「ダイナブックプロジェクト」において、暫定Dynabook(Altoの同チームにおける呼び名)のオペレーティングシステム (OS) およびコンピュータ環境にあたるSmalltalkの開発にたずさわったメンバー、特にアイデアパーソンのアラン・ケイ、その実装者のダン・インガルスらが中心となり、当初アップルにおいて同プロジェクトは始動した。のちにウォルト・ディズニー・イマジニアリングを経て、アラン・ケイが設立したNPOであるViewpoints Research Institute(英語版)に活動の拠点を移し現在も開発が続けられている。
title: B言語
text: B言語(ビーげんご)は、AT&Tベル研究所のケン・トンプソン (Ken Thompson) によって開発されたプログラミング言語である。ケン・トンプソンがデニス・リッチー(Dennis Ritchie)監修の元で設計し、1969年頃に登場した。
title: ジェームズ・ゴスリン
text: ゴスリンのもう一つの貢献として、ブライアン・カーニハンとロブ・パイクの著書『UNIXプログラミング環境(英語版)』で詳細に説明されているユーティリティであるshar(英語版)を共同で製作したことがある。
title: タイムシェアリングシステム
text: しかし、ベル研究所はMulticsの反省点を生かしてUNIXオペレーティングシステムを開発することになる(現代では、Unix系のようなマルチタスクのオペレーティングシステムはTSSとは別のカテゴリとして専ら扱われるが、Unixに関する有名なpaper The UNIX Time-Sharing System のタイトルのように、当初はUnixもTSSの一種として扱われていた)。また、J・C・R・リックライダーの描いた対話型コンピューティングという概念と彼がARPA時代にまいた種は後のインターネットとパーソナルコンピュータに大きな影響を与えた。
title: Text Editor and Corrector
text: リチャード・ストールマンは、当初TECO上でEmacsを実装した。その後、Multics EmacsやGNU EmacsはLISPおよびEmacs Lispで実装された。TECOを有名にしたのは、1964年にマサチューセッツ工科大学のProject MACで実装されたDEC PDP-6上のものである。この実装では画面上に編集対象のテキストが継続的に表示され、対話型のオンラインエディタとして使われた。ただし、これは当初の実装とは異なるし、当初想定された使い方でもない。その後のTECOはDECの端末(VT100など)でフルスクリーン表示が可能となった。
title: フローチャート
text: ダグラス・ハートリーは、ハーマン・ゴールドスタインとジョン・フォン・ノイマンがコンピュータプログラム(当時のことであるから、機械語を直接人間が書く、というプログラミングであったことに留意)のためのフローチャートを考案したとしている。これには同時代のIBM技術者による傍証があり、ゴールドスタインの回想録でも裏付けられている。ゴールドスタインとフォン・ノイマンの最初のプログラミング用フローチャートは、当時公表されなかった報告書 \"Planning and coding of problems for an electronic computing instrument, Part II, Volume 1\" (1947) にあり、後にフォン・ノイマンの著作集に収録された。
title: HP-41
text: HP-41 シリーズは、ヒューレット・パッカードが1979年から1990年まで製造していたプログラム電卓である。拡張性があり、逆ポーランド記法を特徴とする。最初のモデル HP-41C は英数字を表示できる最初の電卓だった。その後 HP-41CV、HP-41CX と機能やメモリ容量を拡張していった。
title: Ed (テキストエディタ)
text: ed(イーディー)は、UNIXオペレーティングシステム上の標準的なテキストエディタである。オリジナルの作者はケン・トンプソンで、世界初の正規表現の実装のひとつでもある(それ以前には正規表現は数学の論文に出ていただけであった)。edはケン・トンプソンの出身校であるカリフォルニア大学バークレー校のQEDから影響を受け、その後ex(英語版)およびそこから派生したviに影響を及ぼした。UNIXコマンドgrepとsedはedのよく使われる使い方に影響されており(例えば使用例の置換コマンドはsedの使用法にそっくりである)、これらの影響はプログラミング言語AWKの中にもよく見て取れる。
title: TeX
text: TeX (TeX) は、ドナルド・クヌース (Donald E. Knuth) が開発し、広く有志による拡張などが続けられている組版処理システムである。
title: ソフトウェア工学
text: 1949年のEDSACにおいて既に、ローダが初歩的なアセンブラの機能を備えていたことが知られる。1950年前後には、EDSACやEDVACといった初期のコンピュータにおけるプログラミングについて文献が公刊され、初歩的なプログラミング手法が知られるようになった。言語としては、直接バイナリで機械語を記述する煩雑さから、すぐにアセンブリ言語が生まれた。1950年代中ごろには Autocode、FORTRAN、LISPといった初期の高水準言語があらわれた。プログラミング言語の実用性を疑う向きも多かったことから、IBMが開発したFORTRANコンパイラは、初めての試みであるにもかかわらず、生成コードの最適化のために多大なコストが掛けられ、結果としてプログラミング言語の有効性を納得させた。
title: ブライアン・カーニハン
text: デニス・リッチーと共著の『プログラミング言語C』(通称:K&R)は、C言語の規格化が成されるまで事実上の規格書的な扱いを受けていた。現在でも古典的な教科書の一つである。
title: ダイナブック
text: こうしてケイらがゼロックスのパロアルト研究所在籍時に「暫定ダイナブック」と称して開発したのが、Smalltalkを GUIベースのオペレーティングシステムに用いて動作させていたAltoや、より小型・可搬でバッテリ駆動も可能だった NoteTaker(英語版) で、特に前者については 1979年末にこれを見たスティーブ・ジョブズが Lisa 、そしてMacintoshを開発するきっかけとなったとされる。