コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
最近の更新
未作成ページ
おまかせ表示
ヘルプ
MonoBook
検索
検索
ログイン
個人用ツール
ログイン
ログアウトした編集者のページ
もっと詳しく
投稿記録
トーク
「
不完全にしておよそ正しくないプログラミング言語小史
」を編集中
ページ
議論
日本語
閲覧
編集
ソースを編集
履歴表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
編集
ソースを編集
履歴表示
全般
リンク元
関連ページの更新状況
特別ページ
ページ情報
警告:
ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。
ログイン
または
アカウントを作成
すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。
スパム攻撃防止用のチェックです。 けっして、ここには、値の入力は
しない
でください!
これは「'''不完全にしておよそ正しくないプログラミング言語小史'''」に手を加えたものである。 オリジナルについては「[[#外部リンク]]」を参照。 == 1801 == [[ジョセフ・マリー・ジャカール]]が[[パンチカード]]を使った[[プログラム]]に対応した織機([[ジャカード織機]])によってタペストリーに"[[hello, world]]"と織り出す。しかし[[ラッダイト]] (当時のRedditer) たちは、[[テールリカージョン]]、[[並行処理]]、[[大文字小文字]]の区別を欠いていたため、さほど感心しなかった。 == 1842 == 人類最初の[[プログラマー]]と言われる[[エイダ・ラブレス]]が、[[チャールズ・バレッジ]]の作った[[仮想マシン]]「[[解析機関]](analytical engine)」のマニュアルを書き、その中に記載された[[ソースコード]]が世界で最初の[[プログラム]]と言われるようになる。 彼女の努力は、[[プログラム]]を実行する[[コンピュータ]]が実のところ存在しないというマイナーな問題のために頓挫した。後に[[エンタープライズアーキテクト]]たちは[[プログラム]]を[[UML]]で書くために彼女のテクニックを再び学ぶことになる。 == 1936 == [[アラン・チューリング]]が存在しうるあらゆる[[プログラミング言語]]を発明するが、特許化する前に英国情報部員(後の007)によって抹殺される。 == 1936 == [[アロンゾ・チャーチ]]も存在しうるあらゆる[[プログラミング言語]]を発明しているが、より巧みに行った。チャーチの[[ラムダ計算]]は[[C言語]]にあまり似ていなかったために無視されることになった。この批判は[[C言語]]がまだ考案されていないにもかかわらず起きている。 == 1940年代 == 様々な「[[コンピュータ]]」が直接的な配線とスイッチによって「[[プログラム]]」される。技術者たちがそのようにしていたのは、[[タブ]]か、[[スペース]]か、という論争を避けるためであった。 == 1957 == [[ジョン・バッカス]]と[[IBM]]が[[FORTRAN]]を作る。[[IBM]]と[[FORTRAN]]には何も面白いところはない。[[青いネクタイ]]を装着せずに[[FORTRAN]]を書くのは[[シンタックスエラー]]となる。 == 1958 == [[ジョン・マッカーシー]]と[[ポール・グレアム]]が[[LISP]]を考案する。戦後の戦略的括弧の備蓄不足による価格高騰のため、[[LISP]]が人気を得ることはなかった<ref>[[コンピュータサイエンス]]にとって幸いだったのは、中括弧と山括弧の供給は十分にあったことである。</ref>。しかしその人気のなさにも関わらず、[[LISP]] (現在では “[[Lisp]]”、もしくは“[[Arc]]”と書かれる)は「[[マクロ]]」や「見下し」といった強力なプログラミングテクニックによって影響力ある[[言語]]であり続けている<ref>Verity Stob “[http://www.theregister.co.uk/2006/01/11/exception_handling/ Catch as catch can]”より。</ref>。 == 1959 == L・ロン・ハバードとの賭に負けた後、[[グレース・ホッパー]]とその他数名のサディストたちが[[COBOL]] (Capitalization Of Boilerplate Oriented Language、大文字定型文指向言語)を考案する。後年、ホッパー少将の[[COBOL]]の仕事に対する心得違いの性差別主義者による攻撃として、[[Rubyカンファレンス]]で反女性的な素材<ref>http://www.thefword.org.uk/blog/2009/05/women_in_tech_t</ref>が使われている。 == 1964 == [[ジョン・ケメニー]]と[[トーマス・カーツ]]が[[コンピュータサイエンティスト]]でない人向けの非構造化言語[[BASIC]]を作る。 == 1965 == ケメニーとカーツは GO TO 1964 == 1970 == [[ガイ・スティール]]と[[ジェラルド・サスマン]]が[[Scheme]]を作る。彼らの仕事は一連の論文「究極のラムダ(Lambda the Ultimate<ref>http://lambda-the-ultimate.org/</ref>)」シリーズへと繋がり、「究極の台所用品ラムダ」を生み出した。この論文は長期間続いたが結局は失敗に終わった深夜のインフォマーシャルの基礎となった。[[ラムダ]]は広くは知られずにいたが、[[Java]]がそれを持っていなかったため人気を博すようになった。 == 1970 == [[ニクラウス・ヴィルト]]が[[手続き型言語]][[Pascal]]を作る。馴染みのある[[C]]の形式「x = x + y」ではなく「x := x + y」を[[Pascal]]が使っていため、即座に批判に晒されることになった。この批判は[[C]]がまだ考案されていないにもかかわらず起きている。 == 1972 == [[デニス・リッチー]]が前と後ろ同時に発射できる強力な銃を発明する。しかし彼はこの発明による死傷者の数に飽きたらず、[[C]]と[[Unix]]を発明した。 == 1972 == [[アラン・カルメラウアー]]が論理型言語[[Prolog]]を発明する。彼の目的は2歳児の知能を有する[[言語]]を作ることであった。彼はあらゆる問いに「ノー」と答えるPrologセッションを公表し、その目的が達成されたことを示した。 == 1973 == [[ロビン・ミルナー]]がM&M型理論に基づく[[言語]]「[[ML]]」を考案する。MLは形式的定義セマンティクスを持つ[[SML]]を生んだ。形式的セマンティクスのための形式的セマンティクスについて問われたためにミルナーは頭が爆発した。 ML系のよく知られた他の言語には、[[OCaml]]、[[F Sharp|F#]]、[[Visual Basic]]がある。 == 1980 == [[アラン・ケイ]]が[[Smalltalk]]を作り、「[[オブジェクト指向]]」という言葉を考案する。その意味を問われた彼は、「[[Smalltalk]]の[[プログラム]]は[[オブジェクト]]だ」と言っている。[[オブジェクト]]は何からできているのかとの問いには「[[オブジェクト]]だ」と答えている。ではその[[オブジェクト]]は何でできているのかと問われ、彼はこう答えている。「ずっと下まで全部[[オブジェクト]]なんだよ。亀に達するまでずっと<ref>http://en.wikipedia.org/wiki/Turtles_all_the_way_down#Origin</ref>」 == 1983 == 決して走ることのない[[プログラム]]を作る[[エイダ・ラブレス]]の能力を称え、[[ジャン・イクビア]]と米国国防省が[[プログラミング言語]]「[[Ada]]」を作る。特筆すべきAdaプログラムがかつて完成したという証拠はないにもかかわらず、Adaは歴史家から成功した公共事業とみなされている。何千というさまよえる防衛関係請負業者を救っているからである。 == 1983 == [[ビョーン・ストラウストラップ]]が耳にしたことのあるあらゆるものを[[C]]に詰め込んで[[C++]]を作る。出来上がった[[言語]]はあまりに複雑であったため、[[プログラム]]は未来に送って[[人工知能]][[Skynet]]で[[コンパイル]]する必要があった。莫大な[[ビルド]]時間を要したのである。 Skynetがそのようなサービスを行っている動機は明らかでないが、未来のスポークスパーソンは、「そんなこと気にしなくていいぜ、ベイビー」と、オーストリア訛りのある単調な口調で答えている。Skynetは体裁を装った[[バッファオーバーラン]]に過ぎないのではないかと予想する向きもある。 == 1986 == [[ブラッド・コックス]]と[[トム・ラブ]]が[[Objective-C]]を作り、「この[[言語]]は[[C]]のメモリ安全性と[[Smalltalk]]の高速性を合わせたものだ」と宣言する。現代の歴史家は2人が[[失読症]]ではないかと疑っている。 == 1987 == [[ラリー・ウォール]]が居眠りしたとき、額が[[キーボード]]を打った。目覚めたラリー・ウォールは、[[モニター]]に表示されている[[文字列]]が[[ランダム]]なものではなく、神が自らの予言者ラリー・ウォールに設計することを望んだ[[プログラミング言語]]のサンプルプログラムであると確信した。そして[[Perl]]が生まれた。 == 1990 == [[サイモン・ペイトン・ジョーンズ]]、[[ポール・ヒューダック]]、[[フィリップ・ワドラー]]、[[ジョン・ ヒューズ]]、ならびに動物の倫理的扱いを求める人々によって構成される委員会により、[[遅延評価]]を行う[[純粋な関数型言語]]「[[Haskell]]」が作られる。副作用の制御に使われる[[モナド]]の複雑さのため、Haskellには抵抗を持つ人々がいる。ワドラーは批判を和らげるために、こう語っている。「モナドは単なる自己関手の圏におけるモノイド対象だよ。何か問題でも?」 == 1991 == オランダ人の[[プログラマ]]、[[グイド・ヴァンロッサム]]が謎の手術を受けるためアルゼンチンに渡ると、頭に大きな傷跡を付けて戻り、[[Python]]を考案する。支持者集団からは「[[終身独裁者]]」と呼ばれ、「やり方はひとつだけである」と世界に向けて宣言している。ポーランドでは不安視されている。 == 1995 == [[ラスマス・ラードフ]]が近所のイタリアンレストランで[[スパゲティ料理]]が[[World Wide Web]]を理解する優れたモデルであることに気づき、[[Webアプリケーション]]はこのメディアを模倣すべきであると思い至る。そしてナプキンの裏で[[PHP]] (Programmable Hyperlinked Pasta、プログラム可能なハイパーリンクされたパスタ)を設計した。PHPのドキュメンテーションは現在に至るまでナプキンに書かれている。 == 1995 == オーストラリアがモヒカン刈りの戦士とティナ・ターナーの疾走する砂漠になるという漠然とした啓示の実現を回避するため、ユキヒロ・“Mad Matz<ref>http://www.madmaxmovies.com/</ref>”・マツモトが[[Ruby]]を作る。この言語は後に本当の作者であるデビッド・ハイネマイヤ・ハンソン(DHH)により[[Ruby on Rails]]と改名された。[MatzがRubyという言語を作ったというくだりは間違いだから次に改訂するときに取った方がいいよ == DHH] == 1995 == [[ブレンダン・アイク]]が[[プログラミング言語]]設計においてかつて犯されたあらゆる誤りを取り上げ、さらにいくつかの誤りを新たに考案し、[[LiveScript]]を作る。後にこの[[言語]]は[[Java]]の人気にあやかるため[[JavaScript]]と改名された。さらにこの言語は皮膚病の人気にあやかるため[[ECMAScript]]と改名された<ref>ECMAScript(通称:ES)と突発性発疹(英語:exanthema subitum、通称:ES)</ref><ref>https://mail.mozilla.org/pipermail/es-discuss/2006-October/000133.html</ref>。 == 1996 == [[ジェームズ・ゴスリン]]が[[Java]]を作る。[[Java]]は比較的冗長な構文を持ち、[[ガベージコレクション]]を行い、[[シングルディスパッチ]]を使う、[[クラスベース]]で[[静的型付け]]の[[オブジェクト指向言語]]で、実装を[[単一継承]]し[[インタフェース]]を[[多重継承]]する。[[Sun]]は[[Java]]の新規性を大々的に宣伝した。 == 2001 == [[アンダース・ヘルスバーグ]]が[[C Sharp|C#]]を作る。[[C Sharp|C#]]は比較的冗長な構文を持ち、[[ガベージコレクション]]を行い、[[シングルディスパッチ]]を使う、[[クラスベース]]で[[静的型付け]]の[[オブジェクト指向言語]]で、実装を[[単一継承]]し[[インタフェース]]を[[多重継承]]する。[[Microsoft]]は[[C Sharp|C#]]の新規性を大々的に宣伝した。 == 2003 == 酔っていた[[マーティン・オーダスキー]]が、誰かのピーナッツバターが他の人のチョコレートと一緒になるというReese's Peanut Butter Cups(リーセス・ピーナツバター・カップス)<ref>http://www.youtube.com/watch?v=DJLDF6qZUX0</ref>の広告を見ていて着想を得、[[オブジェクト指向]]と[[関数型言語]]の両方の要素を統合した[[プログラミング言語]]「[[Scala]]」を作る。これは両方の陣営の怒りを買うことになり、それぞれが直ぐさま聖戦を宣言することとなった。 == 関連項目 == * [[Bjarne Stroustrup インタビュー]] * [[BSD入門の心得]] * [[週刊実話]] == 参考文献 == {{reflist}} == 外部リンク == * [http://james-iry.blogspot.com/2009/05/brief-incomplete-and-mostly-wrong.html One Div Zero: A Brief, Incomplete, and Mostly Wrong History of Programming Languages] - オリジナル(英文) * [http://www.aoky.net/articles/james_iry/brief-incomplete-and-mostly-wrong.htm 不完全にしておよそ正しくないプログラミング言語小史 James Iry / 青木靖 訳 2009年5月7日] - 和訳 [[category: プログラミング言語]] __NOTOC__
編集内容の要約:
MonoBookへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細は
MonoBook:著作権
を参照)。
著作権保護されている作品は、許諾なしに投稿しないでください!
このページを編集するには、下記の確認用の質問に回答してください (
詳細
):
1たす1は?(全角で入力してください)
キャンセル
編集の仕方
(新しいウィンドウで開きます)
このページで使用されているテンプレート:
テンプレート:Reflist
(
編集
)
本文の横幅制限を有効化/無効化