プログラミング言語の歴史を理解すると、プログラミング学習に役立つだけでなく、さらなる興味・関心につながります。
そこで今回は、年代別と世代別に分けてプログラミングの歴史についてわかりやすく解説します。
また後半では、プログラミング言語の歴史の概要について理解した人向けに、プログラミング言語の歴史が学べる本も紹介します。
プログラミングの成り立ちが気になる方や歴史が好きな方は、ぜひ最後までご覧ください。
※この記事は現役エンジニアによって監修済みです。
この記事もオススメ
【年代別】プログラミング言語の歴史
本章では、年代別にプログラミング言語の歴史を解説します。
プログラミング言語の起源
コンピューターが開発される以前は、プログラミングではないものの、近い考え方で作られた装置はありました。
具体的には、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年代中頃に誕生しました。
高水準言語は自然言語に近くなり、アセンブリ言語と比較してより一層理解しやすくなりました。
また、プロセッサに処理を依存しなくもよいなどの特徴があります。
プログラミング言語第4世代は第3世代を超えた言語
第4世代は「第3世代言語を超えた言語」で明確な定義はなく、現在のプログラミング言語で主流であるJavaやPHPなどに該当する言語です。
第4世代は、「非手続き型言語」「オブジェクト指向言語」「軽量プログラミング言語」に細分化されます。
非手続き型言語
「非手続き型言語」は、処理を順番に実行する手続き型言語とは異なり、処理手順に関係なく実行されるプログラミング言語のことです。
主な代表例としては、データベースを操作するのに使用するSQLが挙げられます。
オブジェクト指向言語
「オブジェクト指向言語」は、カプセル化・継承・多態性(ポリモーフィズム)といった特徴を持つプログラミング言語のことです。
主な代表例としては、ソフトウェア開発で幅広く使用されるJavaやPythonが挙げられます。
ちなみに「スクリプト言語」はオブジェクト指向に含まれる、可読性の高さや実行までの難易度が低く初心者にも扱いやすいプログラミング言語です。
主な代表例としては、PHP・Ruby・JavaScriptなどが挙げられます。
軽量プログラミング言語
「軽量プログラミング言語」は、言語の習得が容易なプログラミング言語の総称です。
現在の軽量プログラミング言語に該当するのは、前述したスクリプト言語のほか、HTMLやCSSなどのマークアップ言語(視覚表現や文章構造などを記述するための言語)も該当します。
プログラミング言語の歴史が学べる本
プログラミング言語の歴史を知ると、コンピュータの成り立ちや現在に至るまでの軌跡が分かるだけでなく、プログラミング界隈の未来についても触れられます。
そこで本章では、プログラミング言語の歴史が学べるおすすめの本を5つ紹介します。
ご紹介する本は、プログラミング初心者にも分かりやすい本ですから、気になるものがあれば手にとってみてください。
プログラミング言語図鑑
- 需要が高く今後も注目されるプログラミング言語を67個に厳選し、イラストつきで解説している
- 1言語あたり見開き2ページで構成されており、コンパクトにまとめられている
- 各言語ごとにサンプルプログラムが用意されており、実行しながら学べる
「プログラミング言語図鑑」は、古代から現代に至るさまざまなプログラミング言語の歴史を網羅した本です。
著者は、技術士や公益財団法人日本数学検定協会認定トレーナーとして活動されており、信頼性も十分に担保されています。
収録されている「ハノイの塔」のサンプルプログラムは、オンラインで実行できます。
この記事もオススメ
体系的に学ぶコンピュータ言語
- プログラミング言語の中でも主流とされる約50個に厳選して、特徴と技術を体系的に学べる
- 正規表現や連想配列などの基本的な技術が導入された背景や意味も事細かに解説している
- 異なるプログラミング間でソースコードを比較するといった、より具体的なアプローチも多い
「体系的に学ぶコンピュータ言語」は、プログラミング言語の歴史やハードウェアとの関係などを体系的に学べる本です。
特に、アセンブラに関する内容が1章まるごと用意されているのも特徴的といえます。
知っていれば物知りだと思われるようなマニアックな情報も多いため、初心者だけでなくプログラマーの方にもおすすめできる1冊です。
まつもとゆきひろ コードの未来
- 今日のクラウド・ビッグデータ時代で活躍するプログラミング言語を著者の独自の視点で解説している
- 著者のまつもとゆきひろ氏は、オブジェクト指向スクリプト言語で人気の高い「Ruby」の生みの親
- プログラミングの歴史だけでなく未来の話も解説しており、コードのトレンドもおさえられる
「まつもとゆきひろ コードの未来」は、「Rubyの父」として有名なまつもとゆきひろ氏によるプログラミング言語の解説本です。
全6章で構成されており、クラウド時代のプログラミングやマルチコア時代のプログラミングといった、未来を見据えた話が多く含まれています。
したがって、プログラミング言語の歴史だけでなく、トレンドもおさえておきたい方におすすめの1冊です。
この記事もオススメ
プログラミング言語大全
- メジャーなものからマイナーなものまで、解説するプログラミング言語は100個以上で非常にボリュームのある1冊
- プログラミング言語の歴史と合わせて周辺情報も解説しており、読みやすい構成となっている
- どのプログラミング言語を学ぶべきか迷っている初心者や、新しい技術に触れたいプログラマーの方におすすめ
「プログラミング言語大全」は、100個以上の言語の解説をまとめた、プログラミング言語の広辞苑ともいえる本です。
著者の「クジラ飛行机」氏は、オンラインソフトウェア大賞やスーパークリエイターに認定された実績のある方で、プログラミングの技術書も多数執筆されています。
とにかくプログラミング言語の解説が豊富で、特定の言語だけつまんで読むことも可能ですから、1冊持っておいて損はありません。
言語設計者たちが考えること
- C++、Python、Javaなど、今日のソフトウェア開発を支えるプログラミング言語の設計者へのインタビューがまとめられている
- 設計者たちがプログラミング言語を設計するに至った背景や技術など、貴重な話に触れられる
- 設計者たちの考え方から学べるという点で、現役のプログラマーやシステムエンジニアならば読んでおきたい1冊
「言語設計者たちが考えること」は、プログラミング言語を考案・設計・実装した方々の貴重なインタビューがまとめられた本です。
日本語版の本著では、Rubyを開発したまつもとゆきひろ氏のインタビューも含まれています。
各言語の歴史や技術はもちろん、設計者の考え方や個性なども垣間見られるため、非常に読み応えのある1冊といえるでしょう。
プログラミング言語の歴史を知って興味を深めよう
プログラミング言語の歴史に関して、年代別と世代別で解説しました。
プログラミング言語の歴史についてさらに詳しく知りたい場合は、体系的に知識が深められる本を使った学習がおすすめです。
歴史を知ることで、プログラミング言語の奥深さが鮮明になり、興味もさらに深まるでしょう。
これから需要の増えるであろう、将来性のあるプログラミング言語については「【2021年】将来性のあるプログラミング言語ランキング!学習方法や稼ぐコツも紹介」をご覧ください。
はじめての転職、何から始めればいいか分からないなら
「そろそろ転職したいけれど、失敗はしたくない……」そんな方へ、テックキャンプでは読むだけでIT転職が有利になる限定資料を無料プレゼント中!
例えばこのような疑問はありませんか。
・未経験OKの求人へ応募するのは危ない?
・IT業界転職における“35歳限界説”は本当?
・手に職をつけて収入を安定させられる職種は?
資料では、転職でよくある疑問について丁寧に解説します。IT業界だけでなく、転職を考えている全ての方におすすめです。
「自分がIT業界に向いているかどうか」など、IT転職に興味がある方は無料カウンセリングにもお気軽にお申し込みください。