年表で見るプログラミング言語 |
---|
年(西暦) | イベント |
---|---|
1954 | FORTRAN言語 FORTRAN(フォートラン:FORmula TANslation)は、1954年にIBMのジョン・バッカス(John Backus)を中心に開発され、1957年に最初のコンパイラがリリースされた。科学技術用として広く使用された。 その後、FORTRAN 66、FORTRAN 77、Fortran 90、Fortran 95、Fortran 2003、Fortran 2008と標準規格として制定されている。 現在、GNU FortranはFortran 95/2003/2008を対象にしている。 |
1958 | ALGOL言語 ALGOL(アルゴル:ALGOrithmic Language)は、IBMのFORTRANに対抗して、ヨーロッパの研究者が世界共通のプログラミング言語として開発し、チューリッヒで行われた国際会議で提案された。この時のALGOLをALGOL 58と呼ぶ。 プログラムの構文にコードブロック(begin 〜end)を導入し静的スコープが適用された。論文などのアルゴリズム記述に広く使用された。よく「ALGOL系言語」という言葉が使用されるほど後の言語にも大きな影響を与えた。 ログラミング言語の文法を記述するバッカス正規記法(Bakus normal form)はALGOL-58にあわせてジョン・バッカス(John Backus)によって考案された。 |
1959 | COBOL言語 COBOL(コボル:COmmon Business Oriented Language)は米国の国防総省のグレース・ホッパ(Grace Hopper)を中心に開発され、CODASYL(Conference on Data Systems Languages、データシステムズ言語協議会)によって最初の仕様書が承認された。最初の仕様をCOBOL-60と呼ぶ。 CODASYLがCOBOL言語の標準化を行っている。COBOL-61、拡張COBOL-61、COBOL-65、COBOL-68、COBOL-69、COBOL-70、COBOL-73、COBOL-76、COBOL-78、COBOL-81、COBOL-88、COBOL-93。 |
1960 | ALGOL-60言語 ALGOL-58は仕様の開発で、その実際のコンパイラの実装がALGOL-60として公開された。 バッカス正規記法(Bakus normal form)もALGOL-60向けに拡張・改訂されバッカス・ナウア記法(BNF、Bakus-Naur Form)となった。現在はこのBNFを拡張した拡張バッカス・ナウア記法(Extended Bakus-Naur Form)が一般的に使われている。 |
1962 | Simula言語 Simula(シミュラ:SIMUlation Language / SIMple Universal LAnguage)はノルウェーのクリステン・ニガード(Kristen Nygaard)とオルヨハン・ダール(Ole-Johan Dahl)により開発された。SIMULA Iが1962年、SIMULA-67が1967年。 SIMULA自体はあまり使われることは無かったが、Simula 67でオブジェクト、クラス、サブクラス、継承、仮想関数、ガベージコレクションなど、オブジェクト指向プログラミングの基本概念が盛り込まれている。後のオブジェクト指向言語に大きな影響を与えている。 |
1964 | BASIC言語 BASIC(ベーシック:Beginners' All-purpose Symbolic Instruction Code)は、米ダートマス大学ジョン・ケメニー(John Kemeny)教授とトーマス・カーツ(Thomas Kurtz)によって初心者向けのプログラミング言語として開発された。 その後、パソコンやポケコンの普及で機能を抑えたインタープリターとして様々な亜種が登場した。現在のマイクロソフトのVisual BasicやOfficeのVBAなどもBASICの一つである。 |
1965 | PL/I言語 PL/I(ピーエルワン:Programming Language One)は科学技術計算向けのFORTRANと事務処理向けのCOBOLの双方の特徴を生かしてIBMにより開発されたプログラミング言語。言語仕様が大きいため、主にメインフレームで使用される。1979年にISOで標準化された。その後もIBMによりバージョンアップが続いている。2001年以降IBMのコンパイラ名称はEnterprise PL/Iとなっている。 |
1968 | 第1回NATOソフトウェア工学会議開催 ソフトウェアの規模が大きく複雑になるにつれ、コストの増加、納期の遅延、品質の低下が起こり、このままでは危機的な状況になることに対してソフトウェア危機が叫ばれた。「ソフトウェア危機(software crisis)」という言葉は、第1回NATOソフトウェア工学会議(The NATO Software Engineering Conferences)の参加者達により作られた。 「ソフトウェア工学(software engineering)」という言葉もこの会議で初めて使われた。これにより、プログラミング言語やプログラミング技術だけではなく、ソフトウェア開発工程の手法についても多く研究されるようになった。 |
1969 | 構造化プログラミングの提唱 エドガー・ダイクストラ(Edsger Dijkstra)によって「構造化プログラミング(Structured Programming)」が提唱された。プログラミングからGOTO文を排除し、手続きの呼び出しと構造化制御構文(順次・反復・分岐)への転換を促した。 |
1970 | Pascal言語 Pascal(パスカル:フランスの数学者Blaise Pascalにちなんで名付けられた)は、スイスのニクラウス・ヴィルト(Niklaus Wirth)によって開発された。 Pascal言語は2つの主要な目標に基づいて開発されている。第1の目標は、プログラミングの教育に適した言語にすること。第2の目標は、Pascal言語の処理系の開発であり、現時点で使用できるコンピュータ上で信頼性が高く、しかも効率の良いものを実現することである。 そのため、多くの教育現場や研究に使用されている。また、アルゴリズも表現もPascal言語で書かれているものが多い。 |
1972 | C言語 C言語(シー:C-language)はベル研究所(Bell Laboratories)のデニス・リッチー(Dennis Ritchie)によって開発された。C言語はUNIXの基本ソフトを作るために開発された。 |
抽象データ型 抽象データ型(Abstact Data Type:ADT)が提唱された。 |
|
1974 | 『Programming with Abstract Data Type』発表 Stephen Zillesとバーバラ・リスコフ(Barbara Liskov)によって書かれた抽象データ型を使用したプログラミングに関する論文。 |
CLU言語 CLU言語(名前の由来は クラスタ CLUster)はバーバラ・リスコフ(Barbara Liskov)によって開発された。抽象データ型を扱うプログラミング言語である。 |
|
1978 | 『The C Programming Language』出版 ブライアン・カーニハン(Brian Kernighan)とデニス・リッチー(Dennis Ritchie) によって書かれたC言語についての書籍。著者名の頭文字からK&Rと略され、C言語が標準化されるまでC言語のリファレンスとなっていた。邦訳『プログラミング言語C -- UNIX流プログラム書法と作法』は1981年に出版された。 |
1979 | Modula-2言語 Modula-2言語は、ニクラウス・ヴィルト(Niklaus Wirth)によって開発された。PascalとModulaを直接の祖先とし、モジュールプログラミングおよび多重プログラミングの概念を持つプログラミング言語として作成された。文法がPascalよりModulaに似ているためModula-2という名称となった。Modulaについての情報はほとんど無い。 |
1980 | Smalltalk言語(Smalltalk-80) Smalltalk言語(スモールトーク)はXEROX社で開発された。開発は1972年から始まり、1980年に公開された。オブジェクト指向プログラミングの手本となり、以降のオブジェクト指向プログラミング言語に大きな影響を与えた。 |
1981 | 『Why Pascal is Not My Favorite Programming Language』発表 C言語のブライアン・カーニハン(Brian Kernighan)によるPascal批判の論文。 |
1983 | C++言語 C++言語(シープラスプラス)は、ビャーネ・ストロヴストルップ(Bjarne Stroustrup)によって開発された。C言語に大規模ソフトウェア開発に有用な機能を取り込み、クラス機能の追加や型検査機能などの強化を行った。 |
Ada言語(Ada 83) Ada言語(エイダ:史上初のプログラマと言われるイギリスの女性Ada Lovelaceにちなんで名付けられた)は、アメリカ合衆国国防総省が信頼性・保守性に優れたプログラミング言語の開発のために国際入札を行い開発した。採用されたのはフランスのジーン・イシュビア(Jean Ichbiah)チームの設計である。1987年にISOで標準化された。 |
|
1985 | 『The C++ Programming Language』出版 ビャーネ・ストロヴストルップ(Bjarne Stroustrup)によって書かれたC++言語についての書籍。この時点での事実上のC++言語のリファレンスとなった。 |
1989 | C言語(C89、C90) C言語が、1989年にANSI、1990年にISOで標準化され、それぞれC89、C90と呼ばれる。 |
C++言語(Version 2) C++言語に、多重継承と抽象クラス、静的メンバ関数、constメンバ関数、protectedメンバ等の機能が追加された。 |
|
1990 | 『The Annotated C++ Reference Manual (ARM)』出版 マーガレット・エリス(Margaret Ellis)、ビャーネ・ストロヴストルップ(Bjarne Stroustrup)によって書かれたC++言語のリファレンスマニュアル。 後のC++言語の標準化の土台となった。 |
Pascal言語(Standard Pascal) PascalがISOで標準化された。この規格は標準Pascalとして定義される。 さらに、レベル-0とレベル-1に分類される。すべて満たすとレベル-1で、整合配列の実装を省いたものがレベル-0となる。 |
|
Pascal言語(Extended Pascal) Pascalの拡張仕様がISOで標準化された。この規格は拡張Pascalとして定義される。 Modula-2の様なモジュール機能が導入された。 |
|
1995 | C言語(C95) C言語のC89の仕様に非英語圏のためのワイド文字ライブラリがが追加されて。 現在使用されているCコンパイラは、C89/C90/C95に準拠したものが多い。 |
Ada言語(Ada 95) Ada言語にタスキング機能の改善やオブジェクト指向を導入しISO規格が改定された。この規格はAda 95と呼ばれる。 |
|
1996 | Java言語(JDK 1.0) Java言語の最初のバージョン。 |
Modula-2言語(Part 1:Modula-2, Base Language) Modula-2言語がISOで標準化された。この規格はパート1で基本言語版である。 |
|
1997 | Java言語(JDK 1.1) Java言語に国際化対応、JDBCなどの追加。 |
1998 | Java言語(Java 2) J2SE 1.2〜J2SE 5.0(2004年)までJava 2と呼ばれ機能拡張が行われた。 |
C++言語(C++98) C++言語がISOで標準化され、C++98と呼ばれる。 |
|
Modula-2言語(Part 2:Generics Modula-2) Modula-2のISO規格のパート3が制定された。Modula-2のジェネリックスについての規格である。 |
|
Modula-2言語(Part 3:Object Oriented Modula-2) Modula-2のISO規格のパート3が制定された。Modula-2のオブジェクト指向についての規格である。 |
|
1999 | C言語(C99) C言語にC++の機能を一部取り込んだり、その他機能拡張を行いISO規格が改定された。この規格はC99と呼ばれる。 |
2003 | C++言語(C++03) C++言語のC++98についての不具合の改訂などを行い、2003年版が制定された。この規格はC++03と呼ばれる。 |
2005 | Ada言語(Ada 2005) Ada言語に8/16/32ビットのUnicodeサポートや多重継承などの機能追加を行いISO規格が改定された。この規格はAda 2005と呼ばれる。 |
2006 | Java言語(Java SE 6) 命名がJ2SEからJava SEとなり機能拡張が行われている。 最新はJava SE 7(2011年)。 |
2011 | C言語(C11) C言語でUnicodeに標準で対応するなど、機能の改訂(追加・変更・削除)を行ったISO規格の最新版。この規格はC11と呼ばれる。 |
C++言語(C++11) C++言語にマルチスレッドやジェネリックプログラミングのサポートや標準C++ライブラリの拡張を行ったISO規格の最新版。この規格はC++11と呼ばれる。 |
|
2012 | Ada言語(Ada 2012) Ada言語の機能追加やライブラリの拡張を行ったISO規格の最新版。この規格はAda 2012と呼ばれる。 |