>>10年後も職を失わない「求められる人材」になる
プログラミング言語の歴史を理解すると、プログラミング学習に役立つだけでなく、さらなる興味・関心につながります。
そこで今回は、年代別と世代別に分けてプログラミングの歴史についてわかりやすく解説します。
プログラミングの成り立ちが気になる方や歴史が好きな方は、ぜひ最後までご覧ください。
【年代別】プログラミング言語の歴史
本章では、年代別にプログラミング言語の歴史を解説します。
プログラミング言語の起源
コンピューターが開発される以前は、プログラミングではないものの、近い考え方で作られた装置はありました。
具体的には、12〜13世紀にトルコの発明家「アル=ジャザリー」が、飲み物を提供するロボットや音楽を奏でるロボット楽団を発明したとされています。
また、1801年にフランスの発明家「ジャカール」は、自動で織り柄が作れる「ジャカード織機」を発明しました。
この織機は、穴の配列でデザインパターンを変えられたため、プログラムの起源ともいわれています。
この記事もオススメ
プログラミング言語の歴史:1940年以前
1830年頃には、よりプログラミング言語に近い発明が誕生しました。
それが、イギリスの数学者「チャールズ・バベッジ」が設計した、「解析機関」と呼ばれる機械式汎用コンピューターです。
完成には至らなかったものの、ベルヌーイ数を計算するプログラムが示された、広義の意味で世界初のコンピュータープログラムといわれています。
プログラミング言語の歴史:1940年代
1940年代になると、電子式コンピューターが開発され始め、機械言語や単純なアセンブリ言語が登場しました。
ちなみに、1942年から1945年にかけて「プランカルキュール(Plankalkül)」という言語が設計されたものの、実際に作られるには至りませんでした。
プログラミング言語の歴史:1950年代〜1960年代前半
1950年代〜1960年代前半には、以下のようなプログラミング言語が次々と誕生しました。
FORTRANは世界初の高水準言語と言われています。
- FORTRAN(フォートラン):科学技術計算に秀でたジョン・バッカスが開発した言語
- COBOL(コボル):アメリカ国防総省が主導して誕生した事務処理用言語
プログラミング言語の歴史:1960年代後半〜1970年代
1960年代後半〜1970年代は、オブジェクト指向型言語の概念が誕生し、今日のプログラミングの発展に大きな影響を与えました。
この時代に誕生した主なプログラミング言語は、以下の通りです。
- C言語:「デニス・リッチー」が開発した言語で、C系言語の始祖となる
- Pascal(パスカル):「ニクラウス・ヴィルト」が開発した言語で、元は学生教育を目的に開発された
この記事もオススメ
プログラミング言語の歴史:1980年代
1980年代には、徐々にパーソナルコンピューターが普及し始め、新たなプログラミング言語も次々と誕生しました。
この時代に誕生した主なプログラミング言語は、以下です。
- Objective-C:C言語を基盤に開発された言語で、主にApple製品のOS上で動く
- Perl(パール):開発効率の高い言語で、今なお世界中で根強い人気を誇る
プログラミング言語の歴史:1990年代
出典元:Python.org
1990年代には、パソコンのGUI化が進み、今も使われる代表的なプログラミング言語が数多く誕生しました。
この時代に誕生した主なプログラミング言語は、以下です。
- Python(パイソン):オブジェクト指向型言語で、データサイエンスやAI開発などで需要が高い
- Java(ジャヴァ):サン・マイクロシステムズが開発したオブジェクト指向型言語
この記事もオススメ
プログラミング言語の歴史:2000年代
2000年代は、携帯電話も普及し始めたことで、ネットワークのれい明期ともいえる時代となりました。
この時代に誕生した主なプログラミング言語は、以下です。
- C#(シーシャープ):C系に属する言語で、Javaに似た構文が多くWindowsとの相性がよい
- Scala(スカラ):オブジェクト指向と関数型の特徴を持つ言語で、Javaプラットフォーム上で動く
プログラミング言語の歴史:2010年代
2010年代は、スマートフォンの普及でネットワークにつながる機会は増え、機能性や安全性がより洗練されたプログラミング言語が多く誕生しました。
この時代に誕生した主なプログラミング言語は、以下です。
- Kotlin(コトリン):JVM(Java仮想マシン)上で動き、Androidアプリ開発でよく使用される
- Swift(スウィフト):Appleが開発した言語で、Objective-Cよりもパフォーマンスが向上した
この記事もオススメ
プログラミング言語の4つの世代
続いては、プログラミング言語の歴史を4つの世代に分けて解説します。
プログラミング言語第1世代「機械言語」
プログラミングの最初期にあたる第1世代は「機械言語」で、時代としては1940年以前に該当します。
機械言語は、コンピューターが理解できるただ1つのプログラミング言語であり、人間が理解するのは困難です。
その後、人間が理解しやすい言語として次の世代に移行します。
プログラミング言語第2世代「アセンブリ言語」
第2世代は「アセンブリ言語」で、時代としては1940年代〜1950年代前半頃に該当します。
アセンブリ言語は、機械言語に1対1で対応しています。
機械言語と比較すると人間に理解しやすい形に簡略化されていますが、人間が日常的に使う自然言語とは大きな違いがあります。
プログラミング言語第3世代「高水準言語」
第3世代は「高水準言語」で、時代としては1950年代中頃から誕生しました。
高水準言語は、COBOLに代表される手続き型言語のこと。
高水準言語は自然言語に近くなりアセンブリ言語と比較してより一層理解しやすくなりました。
また、プロセッサに処理を依存しなくもよいなどの特徴があります。
プログラミング言語第4世代は第3世代を超えた言語
第4世代は「第3世代言語を超えた言語」で明確な定義はなく、現在のプログラミング言語で主流であるJavaやPHPなどに該当する言語です。
第4世代は、「非手続き型言語」「オブジェクト指向言語」「スクリプト言語」「軽量プログラミング言語」の4つに細分化されます。
非手続き型言語
「非手続き型言語」は、処理を順番に実行する手続き型言語とは異なり、処理手順に関係なく実行されるプログラミング言語のことです。
主な代表例としては、データベースを操作するのに使用するSQLが挙げられます。
オブジェクト指向言語
「オブジェクト指向言語」は、カプセル化・継承・多態性(ポリモーフィズム)といった特徴を持つプログラミング言語のことです。
主な代表例としては、ソフトウェア開発で幅広く使用されるJavaやPythonが挙げられます。
スクリプト言語
「スクリプト言語」は、可読性の高さや実行までの難易度が低く初心者にも扱いやすいとされるプログラミング言語です。
主な代表例としては、PHP・Ruby・JavaScriptなどが挙げられます。
軽量プログラミング言語
「軽量プログラミング言語」は、言語の習得が容易なプログラミング言語の総称です。
現在の軽量プログラミング言語に該当するのは、前述したスクリプト言語のほか、HTMLやCSSなどのマークアップ言語(視覚表現や文章構造などを記述するための言語)も該当します。
プログラミング言語の歴史を詳しく学ぶなら本がおすすめ
プログラミング言語の歴史に関して、年代別と世代別で解説しました。
歴史を知ることで、プログラミング言語の奥深さが鮮明になり、興味もさらに深まるでしょう。
プログラミング言語の歴史についてさらに詳しく知りたい場合は、体系的に知識が深められる本を使った学習がおすすめです。
この記事もオススメ