「プログラミング言語年表」の版間の差分

削除された内容 追加された内容
大嘘の記述を修正。過度の記述をコメントアウト。半角の句読点を除去。
1行目:
{{複数の問題
{{|独自研究|date=2015年11月}}
'''プログラミング言語年表'''(プログラミングげんごねんぴょう)とは、コンピュータ[[プログラミング言語]]に関する[[年表]]である。個々の言語の詳細については、個別の記事にゆずる。
|出典の明記=2020年1月
}}
 
'''プログラミング言語年表'''(プログラミングげんごねんぴょう)は、コンピュータ[[プログラミング言語]]に関する[[年表]]である。個々の言語の詳細については、個別の記事にゆずる。
== 1940年以前 ==
[[チャールズ・バベッジ]]が計画した「機械式コンピュータ」と言える装置である[[解析機関]]についての文章をイタリアの数学者ルイジ・メナブレアが執筆し、1842年から1843年の9ヶ月間に[[エイダ・ラブレス]]がそれを翻訳した。この記事の中で彼女はこの機械でベルヌーイ数を計算する完全なプログラムを掲載した。これは世界初のコンピュータプログラムであると言われている。<ref>{{Citation
48 ⟶ 52行目:
* [[1967年]] ノルウェー計算センターの[[クリステン・ニガード]]と[[オルヨハン・ダール]]が'''[[Simula]]'''を開発する。[[オブジェクト]]の概念をもつ言語としては最古の言語である。
* [[1968年]] [[チャールズ・ムーア]]が'''[[Forth]]'''を発表。逐次型の手続き型言語として組み込み向けによく使われる。
* [[1969年]] [[スイス]]、[[チューリッヒ大学]]の[[ニクラウス・ヴィルト]]が'''[[Pascal]]'''を設計。中期の代表的な[[構造化言語]]の1つ。構文にALGOLの影響が強く見られる。その後、教育用言語として[[1980年代]]頃から広く普及した。のちの[[1995年Object Pascal]]に登場する[[Delphi]]もPascalの血を引くから派生した言語および処理系である。
* [[1970年]]頃 [[ベル研究所]]の[[ケン・トンプソン]]らが'''[[B言語]]'''を開発。[[中間コード]]を生成し、[[インタプリタ]]で実行する。[[yacc]]の初期バージョンはB言語用であった。その後、C言語へと発展した。
* [[1972年]] [[デニス・リッチー]]らが'''[[C言語]]'''を開発。C言語はプログラム開発の中心的な言語となり、2010年代でも改訂が続けられながら広く使用されている。また、1980年代には[[オブジェクト指向]]の考え方を取り入れた[[C++]]へと発展した。
* 1972年 アラン・カルメラウアーとフィリップ・ルーセルが'''[[Prolog]]'''を開発[[人工知能]]研究とエキスパートシステムの実現のための主要言語として広く採用された。
* [[1970年代]]前半 [[XEROX]]が'''[[Smalltalk]]'''を開発。[[パロアルト研究所]]で開発が進められた。[[オブジェクト指向]]を導入した黎明期の言語の1つであり、「オブジェクト指向」という言葉を最初に定義した言語でもある。後のオブジェクト指向型言語に多大な影響を与えた。
* [[1974年]] エディンバラ大学で'''[[ML (プログラミング言語)|ML]]'''が開発される。[[型推論]]の機能を持つ[[関数型言語]]後に方言として[[Objective Caml]]が派生
* [[1977年]] テキスト編集ツールとして'''[[awk]]'''が開発される。この名前は3人の開発者の頭文字からとられた。後に機能が強化され、テキスト処理に優れた言語として[[スクリプト言語]]のはしりとなる。
* [[1977年]][[エドガー・F・コッド]]と[[IBM]]によって[[関係モデルデータベース]]を管理するための言語である[[SQL]]が開発された。SQLは[[非手続き型言語]]であったが、後に[[Oracle Database|Oracle]]の[[PL/SQL]]や[[Windows Server]]の[[Transact-SQL]]など[[手続き型言語]]に拡張された言語が生み出された。
61 ⟶ 65行目:
[[ミニコンピュータ]]の世界では、[[1970年代]]に登場したC言語がUnixとともに広く普及した。C言語の最初の標準化は1989年である。一方、1970年代末頃から[[パーソナルコンピュータ]]が普及しはじめ、8ビットパソコン時代には、その内蔵ROMに書かれた言語として[[BASIC]]が爆発的に普及した。<!--パーソナルコンピュータの発展は、だいたいミニコンピュータのそれを何年か遅れてたどっているようなものなのであるが、パーソナルコンピュータのことしか見ていない「歴史」を時折見掛ける。-->
<!--
* [[1981年]] [[日本電気|NEC]]から'''[[N88-BASIC]]'''が初めて搭載された機種([[PC-8801]])が販売される。N88-BASICはその後[[PC-9800シリーズ]]と共に、[[1980年代]]の日本に広く浸透した。
-->
* [[1983年]] '''[[C++]]'''が命名される。Simulaの設計を参考に、[[C言語]]にオブジェクト指向を導入した。しばらくは模索の時代が続き、次第に仕様が固められていった。C言語とともにプログラム開発の中心的な言語となった。一方で、多くの仕様拡張を行った結果、複雑な仕様の言語となった。
* [[1983年]] ブラッド・コックスによって、'''[[Objective-C]]'''が開発される。[[C++]]と同じく[[C言語]]との上位互換を持つ[[オブジェクト指向]]型言語であるが、C言語の仕様を拡張する形で発展したC++と違い、[[Smalltalk]]のオブジェクトシステムをそのままC言語に取り付けたような仕様になっている。後に[[NeXT]]や[[macOS]]の公式開発言語として使用されるようになった。
* 1983年 [[アップルコンピュータ]](現[[アップル (企業)|アップル]])が[[Lisa (コンピュータ)|Lisa]] Pascalに{{仮リンク|Clascal|en|Clascal}}と呼ばれるPascalのオブジェクト指向拡張を導入。
* [[1984年]] '''[[PostScript]]'''が発表される。[[ページ記述言語|ページ記述]]に用いられるプログラミング言語であり、電子印刷を一般化させた。
* 1984年 多数の方言が存在した[[LISP]]を統一する試みである'''[[Common Lisp]]'''の仕様書として、ガイ・スティールが "Common Lisp the Language" を出版する。Common Lispは、既に登場していた[[Scheme]]とともに、2000年代においてもLISPの主流となっている。
* [[1985年]] [[バートランド・メイヤー]]によって'''[[Eiffel]]'''が開発される。高品質なオブジェクト指向開発のためのユニークな機能を多く実装し後続の言語に影響を与えた
* [[1986年]] [[ボーランド]]が[[Turbo Pascal]]にて'''[[Object Pascal]]'''と呼ばれるPascalのオブジェクト指向拡張を導入。
* [[1987年]] [[ラリー・ウォール]]によって'''[[Perl]]'''が開発される、主に[[Common Gateway Interface|CGI]]などの用途で広く普及している。
* [[1987年]] [[Ada]]がISO標準(ISO/IEC 8652)となる。
73 ⟶ 80行目:
 
== 1990年代 ==
ワークステーションなどの世界ではあたりまえであった[[グラフィカルユーザインタフェース|GUI]]化がパーソナルコンピュータにも及び、GUI環境のアプリケーション開発を支援する高度な[[RADRapid (計算機プログラミング環境)Application Development|RAD]]環境や、[[ビジュアルプログラミング言語]]なども盛んになった。80年代の、シェルスクリプトやAwkやPerlに続くような、各種の[[スクリプト言語]]もあらわれた。
* [[1990年]] [[グイド・ヴァンロッサム]]によって'''[[Python]]'''が開発される[[オブジェクト指向]]の[[スクリプト言語]]として欧米で広く普及している。
* 1990年 C言語のANSI標準(1989)をベースとしたISO標準(ISO/IEC 9899)が策定される
* 1990年 スクリプト言語 [[Tcl/Tk|Tcl]]が公開。GUIツールキット Tk と組み合わせたGUIスクリプティング環境'''Tcl/Tk'''として広く知られる。
* 1990年 '''[[Haskell]]''' バージョン1.0報告書が発表される。
* [[1991年]] [[マイクロソフト]]が'''[[Microsoft Visual Basic]]'''を発表。[[Microsoft Windows|Windows]]専用のGUIアプリケーション開発言語。BASICの名前がついているが、[[1980年代]]までのBASICとは大きく異なる。また、[[Excel]]など[[Microsoft Office]]に付属された[[Visual Basic for Applications]]が一般人向けに浸透した
* [[1993年]] [[まつもとゆきひろ]]が'''[[Ruby]]'''を開発(発表は[[1995年]])。Perlのように使えるスクリプト言語を、純粋なオブジェクト指向言語として設計。
* 1993年 '''[[Lua]]'''がリリースされる。C言語のホストプログラムに組み込まれることを前提に開発された、高速な動作を特徴とするスクリプト言語
* 1993年 マイクロソフトが[[Visual Basic for Applications]] (VBA) を搭載した[[Microsoft Excel]] 5.0をリリース。以後、[[Microsoft Office]]を利用するエンドユーザー向けのマクロ言語として浸透した。
* [[1994年]] [[Common Lisp]]がANSI標準となる。
* [[1995年]] [[Ada]]のISO改訂。[[オブジェクト指向言語]]のうち初めての国際標準。
* 1995年 [[ボーランド]]が[[統合開発環境]][[Delphi]]を発表。プログラミング言語としてObject Pascalの独自拡張ひく利用する。Windows専用のGUIアプリケーション開発言語環境
* 1995年 [[サン・マイクロシステムズ]]が'''[[Java]]'''を発表。[[Java仮想マシン]]上で動作する。本格的な[[オブジェクト指向]]言語の1つ。構文当初C組み込み機器向けのアプリケーションソフトウェア記述言語とかなり類似しているが開発され内容はまったく新世代C++構文をベースに、不要な機能をそぎ落として言語である仕様を簡素化したもの当初は[[ウェブブラウザ]]上で動作する[[Javaアプレット]]開発言語として注目され広まった。その後は、[[サーバ]]分野やモバイル分野など広く使われている。
* 1995年 [[ラスマス・ラードフ]]が[[PHP (プログラミング言語)|PHP/FI]]を開発。後の'''PHP'''の元になる。サーバ分野で広く使われている。
* [[1996年]] 音響合成に特化したプログラミング言語として'''[[SuperCollider]]'''が開発される。
92 ⟶ 100行目:
 
== 2000年代 ==
[[情報機器]]が[[コンピュータネットワーク|ネットワーク]]でつながる時代になるにつれて、従来にはない問題が生じた。従来のソフトウェアは単体機器や閉鎖的なネットワークで動作するため、深刻な誤動作をしなければ良しとされていたが、情報機器が広くネットワークにつながりはじめたことで些細な欠陥も許容されない時代へと入った。具体的には[[バッファオーバフロー]]に代表される、「安全でない」プログラムに対して防衛的でない言語の利用を避け、安全な言語の利用が制限され増えるようになった。
 
* [[20022000年]] マイクロソフトが'''[[C Sharp|C#]]'''を発表。.NET[[共通言語ランタイム]] (Common Language Runtime|, CLR]]) という仮想マシン環境で動作するオブジェクト指向言語。Delphi (Object Pascal) およびJavaの影響を強く受けており、C++とJavaの中間的な特徴をもつ。2002年に[[.NET Framework]] 1.0および姉妹言語の'''[[Visual Basic .NET]]'''とともに正式リリース
* 2002年 [[ECMAScript]]がISO標準となる(ISO/IEC 16262)。
* [[2003年]] マーティン・オーダスキーが'''[[Scala]]'''を開発オブジェクト指向言語と関数型言語の特徴を統合し、Javaプラットフォーム上で動作する。
<!--* [[2002年]] [[NVIDIA]]が[[Graphics_Processing_Unit|GPU]]プログラミングのために、[[コンピュータグラフィックス]]専用の言語、'''[[Cg (プログラミング言語)|Cg]]'''を発表。-->
* [[2003年]] マーティン・オーダスキーが'''[[Scala]]'''を開発。オブジェクト指向言語と関数型言語の特徴を統合し、Javaプラットフォーム上で動作する。
<!-- * [[2005年]] [[クジラ飛行机]](くじらひこうづくえ)が[[なでしこ (プログラミング言語)|なでしこ]]を発表。Windows専用のスクリプト型プログラミング言語。[[ひまわり (プログラミング言語)|ひまわり]]の後継言語として、実行環境の軽量化や、より日本語のような言語を目指して開発された。-->
* [[2007年]] C言語の置き換えを目指して開発された'''[[D言語]]'''バージョン1.0がリリース。ネイティブコードで動作し、近年発達してきた他の言語の機能を多くれている。
* [[2009年]] [[Google]]が'''[[Go (プログラミング言語)|Go]]'''を発表並列コンピューティングに配慮したコンパイラ言語[[依存性の注入]]を言語仕様に[[例外処理]]やクラスの継承、[[表明|アサーション]]、[[多重定義|オーバーロード]]といった機能を排除している。
 
その他、[[Graphics Processing Unit|GPU]]上で動作する[[シェーダー]]プログラムを記述するための高水準言語として、[[Cg (プログラミング言語)|Cg]]、[[HLSL]]、[[GLSL]]が登場。また、[[GPGPU]]プログラミング向けの言語拡張として[[CUDA]] C/C++、[[OpenCL]] Cなどが登場した。いずれもC言語およびC++の構文をベースとした言語がよく使われている。
 
== 2010年代 ==
* [[2010年]] [[Mozilla]]が'''[[Rust (プログラミング言語)|Rust]]'''を発表。大規模なサーバーなどにおけるシステムの構築を得意とする言語である。安全性、速度、並行性の追求を目標としている。
* [[2011年]] [[Google]]が'''[[Dart]]'''を発表。 ウェブブラウザ組込みのスクリプト言語である[[JavaScript]]の代替となることを目的に作られた。 [[2014年]][[ECMA]]-408と言う標準規格に登録
* 2011年 [[JetBrains]]が'''[[Kotlin]]'''を発表。Java VM上で動作する。Javaと比べてコードの簡潔性や安全性を向上させるための改良が多く加えられている。
* [[2012年]] MITの[[Jeff Bezanson]]、[[Stefan Karpinski]]、[[Viral B. Shah]]、[[Alan Edelman]]が'''[[Julia_(プログラミング言語)|Julia]]'''を発表。[[MATLAB]]のような数値計算向けの操作性と[[Lisp]]のマクロのような柔軟性を持ち、[[Python]]のような動的型付け言語でありながら、[[C言語]]や[[Fortran]]のような静的型付け言語の良さも取り入れた言語である。[[多重ディスパッチ]]などを特徴とする。[https://julialang.org/publications/julia-fresh-approach-BEKS.pdf]
* [[2014年]] [[アップル (企業)|アップル]]が'''[[Swift (プログラミング言語)|Swift]]'''を発表。 [[Objective-C]]の[[オブジェクト指向]]だけ残して[[C言語]]から引き継いだ部分機構刷新しベースに新たな近代的な構文や機能を持つ新たな言語を作り上げたとなっている<!--コンパイラ言語でありながら、インタプリタとしてスクリプトを実行することも可能で、対話実行環境も用意されている。[[-->Objective-C]]のクラスやC言語、[[C++]]とソ形式関数であればシムレレベルで混在使に利用・相互運も可能することが、それらのライブラリなど過去の資産を全て使う事が出来る。[[LLVM]]上でコンパイルしデバッグする。
* 2014年 [[Facebook]]が'''[[Hack (プログラミング言語)|Hack]]'''を発表。PHPをベースにした新しい言語である。