プログラミング言語の歴史を年代別に解説!これから学ぶべき言語とは?


色々なプログラミング言語があるけれど、どの言語がいつ生まれたのかな?

せっかく学ぶなら、最新のプログラミング言語を選びたい

プログラミング言語にはさまざまな種類がありますが、それぞれ誕生した時期が異なり、それぞれに得意なこと・不得意なことがあります。

今回は、プログラミング言語の歴史や世代に焦点を当てながら、プログラミング言語の特徴を解説します。歴史について学べる書籍や、これから学ぶのにおすすめの言語を紹介します。

【年表まとめ】プログラミング言語の歴史

プログラミング言語の歴史

プログラミング言語とコンピューターは切っても切れない存在です。そこでここでは、それぞれの言語が誕生した時期について、プログラミング言語とコンピューターの歴史を交えながら説明します。

1940年以前

イギリスの数学者チャールズ・バベジは「コンピューターの父」として知られています。彼が1930年代に設計した機械式の解析機関は、記憶装置と演算装置から構成されており、外部から与えられたパンチカードを使ってプログラムを制御していました。最終的におの解析機関は完成しませんでしたが、完成していれば素晴らしいコンピューターとなっていたことでしょう。まさに今、私たちが使っているコンピュータの元祖と言えます。

1940年代

世界で最初に誕生したプログラミング言語は、1954年に設計が始まったFORTRANだと言われていますが、実はそれ以前、1942年にPlankalkülという言語が設計されていたことはあまり知られていません。

FORTRANよりも10年以上まえに設計されたPlankalülは、代入文、サブルーチン、条件判断、ループ、浮動小数点計算、配列、レコード型、例外処理などの概念を含んでいたといいます。プログラムという言葉すらない時代にこれほど多くの概念を含んでいたことに驚かされますが、実際にPlankalülの処理系が作られることはありませんでした。そのため、最初にコンピューターで処理された最初の言語は、FORTRANで間違いないでしょう。

ちなみに、Plankalülが生まれた1940年代には、コンピュータでアセンブリ言語を使い単純な処理をコンピューターで実行できるようになりました。

1960年代前後

1950〜60年代にかけて、FORTRANをはじめ、COBOL、ALGOL、PL/I、Lispといった新しい言語が数多く誕生しました。

1954年にIBMのジョン・バッカスらによって開発が始まり1957年にIBM 704向けコンパイラがリリースされたFORTRANは、初の高級言語として誕生しました。手続き型プログラミング言語であるFORTRANは科学技術計算に向いた言語で、数値予報、気候モデル、構造力学における有限要素法、計算流体力学、計算物理学、動物や植物の品種改良のような大規模な計算を行う分野で使われており、今もスーパーコンピューターとして使われています。

FORTRANに続き、1958年にはALGOLが、1961年には事務処理用言語としてCOBOLが誕生しました。これらの言語の登場により、プログラム作成効率が改善され、異なった機械語のコンピューターでも同一のプログラムが使えるようになりました。COBOLは、事務処理言語として幅広く普及し、まだまだ現役。今も根強く使われています。

一方で、この時代に誕生したALGOL、PL/I、Lispといった言語のように、消えていった言語もあります。とはいえ、その存在は、今使われている言語に大きな影響を与えました。例えばALGOLは、その後に登場するPascalやAda、C言語に大きな影響を与えていますし、人工知能用言語であるLispはCommonLispという形で生き残りつつ、多くのオブジェクト指向の言語に影響を与えています。

1970年前後

1969年に誕生したPascalやC言語のように、ALGOLの影響を受けた言語が誕生。同時に、人工知能向け言語やオブジェクト指向言語のような、全く新しい言語も登場しました。1970年代は、プログラミング言語に大きな変化と新しい動きがあった時代と言えるでしょう。

C言語の誕生は、1970年頃に計算機械学者であるケン・トンプソンらが開発したB言語なくして語ることはできません。B言語とはBCPLから派生したプログラミング言語で、中間コードを生成し、インタプリタで実行します。

そしてC言語は、B言語の影響を受けて開発された言語。B言語の誕生の2年後の1972年、C言語は計算機械学者であるデニス・リッチーを中心に開発されました。Bの次の言語として「C言語」と名付けられました。ご存知の通り、C言語はプログラム開発の中心的な言語となり、現在も広く使われています。

C言語の登場と同じ時期に、オブジェクト指向を取り入れた初のプログラミング言語Smalltalkが登場しました。Smalltalkは、オブジェクト指向という言葉を初めて定義した言語。後に開発されるオブジェクト指向型言語に大きな影響を与えており、オブジェクト指向言語の先祖とも言える存在です。

1970年代後半には、現在のシステム開発に不可欠な言語であるSQLが登場しました。同時期、パーソナルコンピューターが普及しはじめ、1978年に登場した8ビットパソコンの内蔵ROMに書かれた言語としてBASICが普及しました。

1976年、アップルコンピューターのApple Ⅰが登場。その翌年にはApple Ⅱが発売し、大成功を収めました。

1980年代

8ビットパソコンの最盛期である1980年代、プログラミング業界は、C言語を中心に進んでいきます。

1972年に登場したC言語はUnixとともに広く普及し、プログラミング業界は成長していきます。1983年にはC言語にオブジェクト指向を導入したC++が誕生。同時期に、SmalltalkをベースにしたObjective-Cが登場します。Objective-Cは、C++同様C言語との上位互換を持つオブジェクト指向の言語。後にNeXTやmacOSの公式言語として使用されるようになりました。今もiPhoneアプリの開発に使われています。

また、1997年にはオープンソースのスクリプト言語であるPerlが登場。言語学者でもあるラリー・ウォール氏が開発しました。さまざまなライブラリが用意されているので実用性が高く、一つの処理をするのにいくつもの記述方法を許容する多様性があるのが特徴。macOSやLinuxにおいてPerlはなくてはならないツールで、今もWebサービスの開発やシステム管理などに使われています。

1990年代

perlのさらに上を行く美しいスクリプト型言語としてPython、PHP、Rubyが誕生した1990年代。この時期に開発されたプログラミング言語の多くが現在も使われており、現代のIT業界を支えていると言っても過言ではないでしょう。

ここでは、1990年代の10年間を前半・後半に分けて、どんなプログラミング言語が誕生したか、説明していきます。

1990年代前半

Pythonが誕生したのは1990年。プログラマーとして活躍していたグイド・ヴァンロッサム氏が開発しました。スクリプト型言語かつオブジェクト指向の言語として開発されたPythonは、今、世界中に普及しており人気の言語。AIやビッグデータ解析の開発の中心言語で、この先も需要が見込まれます。

1994年に誕生したPHPは、カナダ人プログラマーのラスマス・ラードフ氏が開発しました。ベースとなっているのはC言語。動的にWebページを作れるサーバーサイドのスクリプト言語として、WordPressを含めたWebアプリケーションの開発にも使われています。

1990年代後半

90年代のちょうど真ん中、1995年のビッグニュースといえば、Windows95が発売されたこと。カラー画面で、ネットワーク接続機能が搭載されたWindows95は、発売4日で400万本を売り上げるほど大ヒットしました。Windows95の登場によってインターネットが普及したとも言えるでしょう。

Windows95の登場と同じ1995年に一般公開されたRubyは、純オブジェクト指向言語として開発されました。開発者は、日本人プログラマーのまつもとゆきひろ氏。PerlやSmalltalk、Ada、Lipsといったまつもと氏の好みの言語の一部をブレンドして作られました。柔軟な言語で、表現力が豊か。日本はもちろん世界中で人気があり、特にWebサービスやアプリケーション開発の現場で使われています。

さらに1995年、サン・マイクロシステムズがJavaをリリースします。1991年にGreenという名前で開発が始まったJavaは、OSに依存せず、どんな環境でもソフトを動かすことができます。汎用性が高く、現在も多くの現場で使われています。ゲーム「Minecraft」もJavaを使って作られているんですよ。

また、Web業界での開発言語の中心的存在となるJavaScriptがリリースされたのもこの年。Netscapeブラウザに組み込まれており、元々はLiveScriptという名前が開発されていましたが、Javaの人気にあやかってこの名前に変更されました。だからでしょうか、今では世界で一番ユーザーが多い言語と言われています。JavaScriptはクライアントサイドの動的な処理を実装でき、フロントエンドには欠かせない技術となっています。

1990年代は、Python、PHP、Rubyのようなオブジェクト指向の言語の登場したことで、C言語を中心だった開発現場が一転。オブジェクト指向の言語が次々と取り入れられていくのです。

2000年代

2002年にリリースされたC#はMicrosoft社が開発した言語です。C++にJavaを取り込んでおり、文法がJavaに似たオブジェクト指向の言語です。NET Frameworkというソフトウェア上で動作します。

2003年に登場したScalaは、オブジェクト指向言語と関数型の機能も使えるハイブリッドな言語。Javaと互換性を保つように開発されており、JavaのライブラリをScalaから使うことができます。SNSのTwitterやPayPalにも使われています。今、国内での需要が高まっており、Scalaを取得したいと考えているエンジニアが増えています。

2007年にはD言語というプログラミング言語が登場しました。D言語は、多くの人にとってまだ馴染みがない言語ではないでしょうか?

D言語とは、C言語の置き換えを目指して開発された言語。C言語コンパイラや世界初のC++コンパイラの開発などで知られるアメリカのウォルター・ブライト氏によって設計されました。プリプロセッサ相当の機能が含まれており、柔軟な構文かつ短いコンパイル時間を実現。今後主流となる可能性があります。

2009年にはGoogleがオープンソースのプログラミング言語Goを発表。C言語やJavaのように、作成したオブジェクトをコンパイラすると動作するコンパイル言語です。リリース当初はLinuxとMacOSのみのサポートでしたが、2013年3月にリリースされたバージョン1.0からはWindowsにも対応。Webサーバー構築やアプリケーション開発などに使われており、構文がシンプルで記述しやすいため、近年とても人気がある言語です。

2010年代

2011年には、Googleが開発したプログラミング言語Dartが発表されました。オブジェクト指向型で、静的型付けと動的型付けの両方に対応。JavaScriptの代替として開発されたので、JavaScriptの経験があれば扱いやすいのが魅力です。とはいえ、発展途上の段階であることは否めません。これから先が楽しみな言語と言えるでしょう。

世代別に見るプログラミング言語の歴史

プログラミング学習本 書籍

プログラミング言語の歴史

以上、プログラミング言語の歴史を年代を追って見てきました。実は、プログラミング言語は大きく5つの世代に分けることができます。ここでは、プログラミング言語を世代別にまとめてご紹介します。

プログラミング言語第1世代:機械言語

1940年以前に開発された機械言語が第1世代。機械言語とは、コンピューターが言語を直接理解して命令内容を実行する言語です。今、機械言語を使って開発をすることはほぼありません。

プログラミング言語第2世代:アセンブリ言語

アセンブリ言語とは、第1世代にあたる機械言語を人間にとって理解しやすくしたもの。アセンブラとマシン語が1対1に対応し、コンピューターのハードウエア的な動作を生々しく記述するため、CPUの機能やOSの役割などがよくわかる言語です。コンピューターの動作が手に取るようにわかるので学んでおいて損はない言語ですが、複雑な処理は行えないため、現代のIT業界でアセンブリ言語を使うことはほぼありません。

プログラミング言語第3世代:手続き型言語

手続き型言語には、1960年代に開発されたFORTRANやALGOL、COBOL、C言語などが挙げられます。現在でもシステム開発に使われており、冷蔵庫のようなハードウェアに密接に関わるソフトウェア開発によく使われています。

プログラミング言語第4世代:高水準言語

Java、PHP、Pythonなどの言語が高水準言語に分類され、高級言語とも呼ばれています。第三世代の手続き型プログラミング言語に機能が追加されたもので、人間にとって理解しやすい構文で書かれている言語を指します。

プログラミング言語の歴史が学べる本

プログラミング言語の歴史に触れている書籍を3冊、ご紹介します。プログラミング言語のことを知れる本初心者向けの本のほか、プログラミング言語の開発過程がわかる本もあります。気になったらぜひ手に取って読んでみて下さいね!

プログラミング言語図鑑

さまざまなプログラミング言語を徹底解説した一冊。言語の特徴と歴史に触れる章ががあり、プログラミング言語の歴史についても知ることができます。これからプログラミングを学ぼうと考えていて、どの言語にしようか迷っている初心者にもおすすめです。

まつもとゆきひろ 言語のしくみ

プログラミング言語Rubyの開発者であるまつもとゆきひろ氏の著書。言語の作り方を一から解説しています。さまざまなプログラミング言語の設計理由を開発者の視点で知ることができ、プログラム言語全体を俯瞰して見られます。また、各プログラミング言語の特徴が雑学的に盛り込まれていて、興味深く読み進められます。

プログラミング言語大全

数多くのプログラミング言語を収録し、プログラミング言語の歴史や影響を受けた・与えた言語、利用シーンなどを解説しています。これからプログラミングを学びたい人はもちろん、自分が習得している以外のプログラミング言語について知りたい方、経験が浅いプログラマーやエンジニアにおすすめの一冊です。

今から学ぶならオブジェクト指向の言語がおすすめ

ここまで、プログラミング言語の歴史を紐解きながら、さまざまな言語の特徴について説明してきました。以上を踏まえ、これから学ぶなのにおすすめの言語は、オブジェクト指向の言語。プログラミングの書き換えが容易で、認識を共有しやすいため分業がしやすいため、大人数で強力する大規模なプロジェクトにも対応しており、将来性は抜群。エンジニアとして就職や転職を考えているなら、マスターしておいて損はないからです。

Java

Java

引用元:Java https://java.com/ja/

Pythonと同じく、Googleの三大言語のひとつ。コンピューターのOSに依存しないのでどのコンピュータにも搭載でき、汎用性が高い言語です。コンパイラ言語なので、PythonやRubyといったスクリプト言語よりも処理が高速なのが特徴です。学べば、プログラミングそのものの知識がしっかりと身につくので、スキルアップしたい方におすすめです。

Python

Python

引用元:PythonJapan https://www.python.jp/

Java、C++と並び、Google三大言語の一つ。人工知能(AI)の分野で力を発揮していることで知られています。Facebookの開発にも採用されており、大規模なシステム開発にも有用な言語です。シンプルな文法で書きやすく読みやすく、ライブラリが豊富で迅速な開発ができる、AIや機械学習といった専門分野で実績があるなど、さまざまなメリットがあります。

Ruby

Ruby

Rubyはとにかく読みやすくて書きやすい言語。WebサイトやWebサービスをはじめ、スマホアプリやゲーム、業務系アプリの開発も得意としていて、汎用性が高いのが特徴です。経験が浅くても歓迎されやすいので、どの言語を学ぼうか悩んでいるなら真っ先におすすめしたい言語です。

PHP

PHP

引用元:PHP https://www.php.net/

多くのWebサービスで使われているPHP。WordPressをはじめECサイト設置に利用されるEC-CUBEなどに使用されています。文法が比較的簡単なうえ利用人口が多いという特徴が。ネット上に情報が多いので、学習しやすいというメリットがあります。

JavaScript

JavaScript

WebブラウザとWebサイトやWebサービスとのやりとりをスムーズにするために使われるJavaScript。Webページの動作、Webアプリ開発、スマホアプリ開発、ゲーム開発などができ、メルカリやグノシーといったWebサービスの開発に使われています。インブラウザとテキストエディタ(メモ帳)さえあれば実際に動かすことができるので、初心者でも学びやすい言語です。

以上の言語について、年収や求人素、学びやすさをまとめたこちらの記事で詳しく説明しています。ぜひチェックしてみてください!

初心者向けプログラミング言語おすすめランキング【2020年最新】
更新日 : 2020年10月8日

もしどの言語を学ぼうか迷ったり、悩んでいたら、「侍エンジニア塾」の無料体験を受けてみることをおすすめします。業界屈指のコンサルタントが悩みや不安をしっかり聞いて、あなたにあった学習プランを提案します。オンラインから申込可能なので、どの言語を選べばいいのかわからない人、どう勉強すればいいのかわからない人は、一人で悩まず、コンサルタントに相談してみてください!

実際のレッスンを担当するのは現役エンジニア。専属講師があなたの目的に合ったオーダーメイドの学習プランを立てて指導しているため、自分に合ったペースで学習を進められます。

まとめ

今回は、プログラミング言語の歴史を元に、言語の特徴やこれから学ぶべき言語、歴史を学べる書籍について説明しました。プログラミング言語の歴史を俯瞰して見ることで、今学ぶべき言語が見えてきたと思います。

時代に求められるプログラミング言語が次々と生まれ変化していくIT業界では、自分自身をアップデートしていく積極性が求められます。最先端の情報にアンテナを張り、求められるエンジニアへと成長していって下さい!

LINEで送る
Pocket

「プログラミング、右も左もわからない…」という方にオススメ

当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。

その経験を通してプログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。

侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。

cta_under_bnr

「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

書いた人

真仲

おすすめコンテンツ

いまならレッスン期間が2週間延長!この秋、プログラミングを学ぼう

転職成功で受講料0円!あなたもプログラミングを学んでエンジニアデビュー