なぜプログラミング言語はたくさんあるの?

2021年2月10日

私が過去にプログラミングを始めようと、本屋さんに行ったときの話です。

プログラミング書籍コーナーに行ってみると…

「初めてのJava」
「ゼロから始めるC#」
「Python入門」

ズラリと並ぶ本を見て、正直に思ったことは…

なんでこんなにいっぱいあるの…?

全くのプログラミング初心者の方なら、共感できる方もいらっしゃるのではないでしょうか?

今回はプログラミング言語がたくさんある理由を、私なりにまとめてみました。

プログラミング言語はどれぐらいあるの?

プログラミング言語の数は、なんと200種類以上!

そしてその数は増えているというのです。

正直、初心者の私からすると…

共通する1個の言語にまとめればいいじゃん!

と、思いました(笑)

ではなぜプログラミング言語は、たくさんあるのでしょうか?

プログラミング言語がたくさんあるのは…

プログラミング言語がたくさんある理由は、「使う目的が違うから」です。

世の中には、機械の命令で動くものが非常に多くあります。

  • ゲームを作るときに、キャラクターを動かす。
  • スマホのアプリで、電車の時刻を調べる。
  • 会社で社員の勤怠管理をする。

挙げればキリがないほどのものが、プログラミングの命令により動いています。

この様々なものに対する命令の言葉を、1つの言語で網羅しようと思うと、限界があります。

それぞれの分野に、最適で効率良く処理するための言語が必要になるのです。

ゲームや家電、アプリなど、その環境に合った言語が開発されたために、プログラミング言語はたくさんあるのです。

なぜプログラミング言語は増えるの?

ではなぜプログラミング言語は増えるのでしょうか?

理由は2つあります。

時代の変化に合わせるため

1つめは、時代の変化と共に、求められるシステムやサービスが変化しているからです。

20年前、スマホはまだありませんでしたが、現在は多くの人が利用しています。

ということは、スマホを動かすための言語が必要になるのです。

このように新しいシステムが生まれると同時に、そのシステムに合った言語が生まれます。

だからプログラミング言語は増えていくのです。

改良されたため

2つめの理由は、元々使用されていた言語が、だんだん使いづらくなったために、改良されて新しい言語となるためです。

しかし使いづらくなったからといって、古い言語がなくなってしまうわけではありません。

「〇〇言語のここが良いから、これは引き続き使いつつ、新しい言語を作ろう」のように、良いところは、今も引き継がれています。

時代の変化とともに、プログラミング言語は、これからもどんどん開発されるし、改良して開発される必要があるのです。

プログラミング言語は誰が作っているの?

ではその増えていくプログラミング言語は、誰が作っているのでしょうか?

企業が作る

GoはGoogle、C#はMicrosoft社、SwiftはApple社が開発しました。

このように企業のシステム開発者は、自社の製品を使用するため、最適な言語を開発します。

その言語が流通することで、新しい言語として使われます。

一方で、企業が作った言語を、コミュニティが育てていくパターンもあります。

ここでいうコミュニティとは、その企業に属していない個人の集まりを指します。

コミュニティで言語を育てて、企業に情報を提供し、より良い開発に貢献する人のことをコントリビューターといいます。

そのやり取りは、主にGitHubで行われます。

GitHubとは、ソフトウェアを開発するための環境の土台となるものです。

公開されているソースコード(簡単にいうとプログラムの元ネタ)を、みんなでレビューしたり、提案したりして開発を行うことができます。

個人が作る

プログラミング言語は、なんと個人でも作ることができるのです!

というか、誰でも作ろうと思えば作れるというのです!(その気になれば…

日本で初めて国際規格に認証されたRubyは、まつもとゆきひろさんが個人開発されました。

また2019年には、開成中学3年の上原直人さんが、独自プログラミング言語「Blawn」を作り、経済産業大臣賞を受賞しました。

個人でプログラミング言語を作ることができるなんて、思ってもいませんでした!

想像できないほどの勉強や努力をなされたのでしょうね…
憧れてしまいます!

まとめ

今回は、プログラミングを始めようと思っている初心者の方には、共感していただけるテーマだったのではないでしょうか?

今回のテーマを調べて感じたことは、プログラミングをする人は向上心がすごい!でした。

時代の変化に合わせ、高速でスマート、かつ効率の良いものに変えようと試行錯誤する姿勢は、これからの時代を生きていくためにも、必要な思考であると思いました。

私はプログラミングに関して、まだ知識が浅いです。

自分自身の更なる知識向上を兼ねて、今後も「プログラミング初心者が感じる疑問シリーズ」を続けていこうと思います!(※不定期)

もしご指摘やアドバイスなどありましたら、教えてください<m(__)m>