プログラミング言語はどのように生まれた?歴史から将来性が高い言語も解説!

今や当たり前に利用されているプログラミング言語ですが、その歴史は古く、1950年頃に生まれたとされています。プログラミング言語という言葉の定義は意外と曖昧であり、どれが起源であると断定はできません。考え方によって諸説あると捉えれば良いでしょう。
歴史は複雑であり、その内容を完璧に理解したり、解説したりすることは容易ではありません。今回は、1940年頃のプログラミング言語のスタートとして、現代に至るまでどのような歴史があるかを解説します。
そもそもプログラミング言語とは
最初に、プログラミング言語の基礎について理解を深めましょう。
プログラミング言語が求められる背景
プログラミング言語とは、人間がコンピュータを操作するために開発されたコンピュータ専用の言語です。コンピュータは、人間と直接やり取りできるわけではなく、専用の言語を用いてやり取りしなければなりません。日本と海外のコミュニケーションは言語が異なるように、人間とコンピュータのやり取りも言語が異なるのです。コンピュータが理解しやすいようにプログラミング言語を利用して、コミュニケーションを取ることが求められています。
一般的にプログラミング言語と呼ばれるものが登場する前には、機械語と呼ばれるものが利用されていました。正確な日時は判明していないものの、イギリスの数学者「チャールズ・バベッジ」が19世紀に設計した機械式の装置がコンピュータの起源だと考えられています。ここで利用されていた言語を機械語と呼び、広義にはプログラミング言語の元祖だと考えられるのです。
幅広いプログラミング言語によるコミュニケーション
コミュニケーションを取る方法は1種類ではなく、さまざまな言語を用いて、やり取りできるようになっています。例えば、コンピュータを操作する言語もあれば、スマートフォンを操作する言語もあり、家電機器を操作する言語も登場しているのです。このようにプログラミング言語とはいえども、用途によってさまざまな進化を遂げている点は、人間の言語とやや異なると考えてよいでしょう。
とはいえ、どのようなプログラミング言語であっても、根本はコンピューターとスムーズにやり取りするということに違いありません。スムーズなやり取りを実現するために、プログラミング言語は長い歴史の中で、様々な進化を遂げているのです。
プログラミング言語の誕生と歴史

それでは実際にプログラミング言語がどのように生まれ、時代とともにどのような変化を遂げているのか、その歴史を解説していきます。
初期のコンピュータと機械語
先ほども簡単に解説しましたが、1940年以前にチャールズ・バベッジが機械式の装置を開発しました。ここで利用されたものがプログラミング言語の起源とされているため、プログラミング言語は1940年以前に誕生したと考えてよいでしょう。具体的に開発された内容やその日は記録が残っていませんが、現代のプログラミング言語と同じ役割を担うものが登場しています。これ以前はプログラミング言語のようにコンピュータを操作することはできなかったため、世界に大きな変化を与えました。
1940年代から1950年代
プログラミング言語が生まれてから少しずつコンピュータに変化が生じました。ただ、この段階は現在のようなプログラミング言語ではなく、まだまだ利便性の悪いものです。機械語だけではコンピュータを操作しづらいため、限りなく言語に近い形であるアセンブリ言語が開発されています。今までは、機械語でコミュニケーションをとる必要がありましたが、アセンブリ言語が開発されたことによって、英単語でもコミュニケーションが取れるようになったのです。この状況でも、まだまだ現在のプログラミング言語とは遠いですが、プログラミング言語の歴史としては大きな変化を遂げたタイミングであるといえます。
1960年代
アセンブリでコンピュータを操作する期間がある程度は続いたものの、これも利便性の高いものではありませんでした。そのため、IBMの数学者ジョン・バッカスを中心としたエンジニアがFORTRANを開発します。プログラミング言語の中でも手続き型言語と呼ばれるもので、これは世界初の手続き型言語です。現在は利用されるケースが少ないですが、一部では残っているプログラミング言語がこの段階で生まれました。
また、現在では使われていないものの、ALGOL58と呼ばれるプログラミング言語が発表された時代です。当時はFORTRANを中心に利用されましたが、ALGOL58やこれの後継であるALGOL60の考え方は、C言語など現在でも利用されるプログラミング言語に反映されています。現在に続くプログラミング言語の元祖は、この時代に登場したと表現しても過言ではないでしょう。
他にも、1960年には組み込み機器などで利用されるCOBOLが開発されています。現在は他のプログラミング言語に置き換わりつつありますが、一部では現役で利用されているプログラミング言語です。現在まで続くような、長い歴史を持つプログラミング言語が登場しました。
1970年代
1970年代には、ケン・トンプソンと呼ばれる学者を中心に、B言語が開発されました。これは、現在利用されているC言語の前身となるもので、数学的な処理を得意としたものです。C言語は1972年に登場し、歴史のあるプログラミング言語であるため、この時期の発展が現在に大きな影響を与えています。
また、C言語はオブジェクト指向ではありませんが、Smalltalkと呼ばれるオブジェクト指向のプログラミング言語も登場しています。こちらは世界初のオブジェクト指向型プログラミング言語で、今では当たり前になっているJavaなどの基礎になったものです。
なお、プログラミング言語の歴史とは少々異なりますが、1970年代はデータベースの進化やSQLの登場なども見られます。今では当たり前となっているプログラミング言語とデータベースの組み合わせは、1970年代にその歴史が始まりました。
1980年代
プログラミング言語の進化が続き、1980年代にはいくつもの言語が登場しました。現在使用されている上級言語と呼ばれるものは、この時期に生み出され、今も使われているものが多くあります。
例えば、1983年にはC言語にオブジェクト指向を導入したC++が登場しました。この段階では方向性を模索していましたが、徐々に仕様が固められ、現在は開発の中心です。他にも、現在は少し利用が減っていますが、Pearlが開発されたのも1987年です。PHPや他のWeb言語に置き換えられつつありますが、以前はCGIを開発するために広く利用されていました。
他にも、1983年にObjective-Cが開発されました。こちらも現在は役目を終えつつありますが、mac OSの公式開発言語として使用され、エンジニアも多く活躍した言語です。
1990年代前半
パーソナルコンピュータが広く利用されるようになったことで、プログラミング言語の需要も変化しました。まず1990年代前半には、現在特に人気の高いPythonが開発されています。従来はWeb開発のプログラミング言語として利用されていましたが、近年はAI開発や大量のデータを分析する際にも利用されているものです。今後も需要は広がると考えられ、特に注目したいプログラミング言語となってきました。
他にも発表こそ1995年ですが、1993年にはまつもとゆきひろがRubyを開発しています。純粋なオブジェクト指向言語でありながら、スクリプト言語でもあるため、こちらも一気に注目を集めました。
1990年代後半
1995年には、プログラミング言語の歴史を大きく変えるJavaが生み出されています。現在、当たり前のように利用されていますが、プログラミング言語全体の歴史から見ると比較的新しいものです。Javaは、オブジェクト指向を中心とした考え方で、それまで普及していたC言語とは大きく考え方が異なるものでした。ただ、Javaが広く採用されるようになったことで、必然的にオブジェクト指向の考え方も広まっています。結果、業界全体でオブジェクト指向開発の歴史がスタートしました。
また同じく1995年には、Webアプリケーションの開発に多用されたPHPが登場しています。また、1997年にはJavaScriptが登場し、このタイミングからWebサイトやWebアプリケーションの歴史が始まったといえるでしょう。
2000年代
2000年代にも新しいプログラミング言語が登場していて、現在でも利用されている代表例はC#です。.NET共通言語ランタイムと呼ばれる仮想マシン環境で動作するもので、Javaの影響を強く受けて開発されました。いくつものプログラミング言語の影響を受けていて、C++とJavaの特徴をそれぞれ引き継いだものといわれています。
また、2009年にはGoogleがGoを発表しました。積極的に利用されるプログラミング言語ではありませんが、並列コンピューティングを得意としたものです。依存性の注入を最初から言語仕様として採用しているため、複雑になりやすいクラスの継承や、オーバーロードなどの機能を排除しています。
2010年代
時代がさらに進み、オブジェクト指向でありながら、高速なプログラミング言語が求められるようになりました。そのため、2011年にはKotlinのようなJava VM上で高速に動作する言語が登場しています。現在、Javaは動作速度が遅くなりがちであるため、この問題を解決するために新しく生み出されたのです。
また、2014年にはAppleがSwiftを発表し、Objective-Cの問題を可能な限り解決するようにしました。言語仕様のバージョンアップでは対応できない問題を、新しいプログラミング言語に置き換えて対応したのです。
将来性に期待できるプログラミング言語

プログラミング言語は、時代の変化とともに生み出されたり、使われなくなったりしています。歴史上重要な役割を持つプログラミング言語でも、現在では利用されていないものが多々あるのです。
現在、多角的にプログラミング言語を評価するならば、需要の高いものはPython、Java、JavaScriptだと考えられます。どれも非常に多くの環境で利用されていて、これからもその用途は広がり続けるでしょう。特に、PythonはそもそもWeb系の開発に利用されていましたが、今では人工知能やデータ分析などの世界で利用されるようになっています。これは一例ですが、プログラミング言語が新しい分野で利用され、さらなる歴史を生み出すことがありえるのです。
プログラミング言語の根本的な需要は未知数
現状プログラミング言語は進化を続けていて、安定した需要がありますが、世の中は様々な変化が起きています。例えば、プログラマーではなくともシステムやアプリケーションを開発できるように、ノーコードやローコードの開発ツールが導入されるようになりました。そのため「プログラミング言語を書く」という作業が減り、プログラミング言語の発展が緩やかになるかもしれません。ツールの開発に利用されるPHPやPython、Javaなどのプログラミング言語が伸び、需要の少ないプログラミング言語は廃れてしまうのです。
また、クラウドやIoTの普及によって、求められるプログラミング言語が変化し、それがプログラミング言語の進化に影響することも考えられます。新しいデバイスやOSの登場とともに、新しいプログラミング言語が登場することも考えられるでしょう。今までのプログラミング言語が過去のものになってしまうかもしれません。どのような未来がきても不思議ではない時代であるため、トレンドに追いつき続けることが重要です。
まとめ
プログラミング言語の起源や歴史とこれからの将来性について解説しました。現在ほとんど利用されていないものを含めて、プログラミング言語は数多く生み出されています。全てを覚えておく必要はありませんが、どのような進化を遂げたのかは理解しておいてよいでしょう。これを頭に入れておくことで、同じ系統のプログラミング言語を見つけやすくなります。
近年は、すべてをプログラミングするのではなく、ローコード開発ツールコードなどを利用する機会も増えています。これを利用すると、少ないソースコードでもツールなどを開発できてしまうのです。そのため、プログラミング言語の需要や存在意義は、将来的に大きく変化していくかもしれません。今すぐに大きな変化が生じるとは考えづらいですが、その点も頭に入れておきましょう。