なぜプログラミング言語はたくさんあるの?
私が過去にプログラミングを始めようと、本屋さんに行ったときの話です。
プログラミング書籍コーナーに行ってみると…
「初めてのJava」
「ゼロから始めるC#」
「Python入門」…
ズラリと並ぶ本を見て、正直に思ったことは…
なんでこんなにいっぱいあるの…?
全くのプログラミング初心者の方なら、共感できる方もいらっしゃるのではないでしょうか?
今回はプログラミング言語がたくさんある理由を、私なりにまとめてみました。
プログラミング言語はどれぐらいあるの?
プログラミング言語の数は、なんと200種類以上!
そしてその数は増えているというのです。
正直、初心者の私からすると…
共通する1個の言語にまとめればいいじゃん!
と、思いました(笑)
ではなぜプログラミング言語は、たくさんあるのでしょうか?
プログラミング言語がたくさんあるのは…
プログラミング言語がたくさんある理由は、「使う目的が違うから」です。
世の中には、機械の命令で動くものが非常に多くあります。
- ゲームを作るときに、キャラクターを動かす。
- スマホのアプリで、電車の時刻を調べる。
- 会社で社員の勤怠管理をする。
挙げればキリがないほどのものが、プログラミングの命令により動いています。
この様々なものに対する命令の言葉を、1つの言語で網羅しようと思うと、限界があります。
それぞれの分野に、最適で効率良く処理するための言語が必要になるのです。
ゲームや家電、アプリなど、その環境に合った言語が開発されたために、プログラミング言語はたくさんあるのです。
なぜプログラミング言語は増えるの?
ではなぜプログラミング言語は増えるのでしょうか?
理由は2つあります。
時代の変化に合わせるため
1つめは、時代の変化と共に、求められるシステムやサービスが変化しているからです。
20年前、スマホはまだありませんでしたが、現在は多くの人が利用しています。
ということは、スマホを動かすための言語が必要になるのです。
このように新しいシステムが生まれると同時に、そのシステムに合った言語が生まれます。
だからプログラミング言語は増えていくのです。
改良されたため
2つめの理由は、元々使用されていた言語が、だんだん使いづらくなったために、改良されて新しい言語となるためです。
しかし使いづらくなったからといって、古い言語がなくなってしまうわけではありません。
「〇〇言語のここが良いから、これは引き続き使いつつ、新しい言語を作ろう」のように、良いところは、今も引き継がれています。
時代の変化とともに、プログラミング言語は、これからもどんどん開発されるし、改良して開発される必要があるのです。
プログラミング言語は誰が作っているの?
ではその増えていくプログラミング言語は、誰が作っているのでしょうか?
企業が作る
GoはGoogle、C#はMicrosoft社、SwiftはApple社が開発しました。
このように企業のシステム開発者は、自社の製品を使用するため、最適な言語を開発します。
その言語が流通することで、新しい言語として使われます。
一方で、企業が作った言語を、コミュニティが育てていくパターンもあります。
ここでいうコミュニティとは、その企業に属していない個人の集まりを指します。
コミュニティで言語を育てて、企業に情報を提供し、より良い開発に貢献する人のことをコントリビューターといいます。
そのやり取りは、主にGitHubで行われます。
GitHubとは、ソフトウェアを開発するための環境の土台となるものです。
公開されているソースコード(簡単にいうとプログラムの元ネタ)を、みんなでレビューしたり、提案したりして開発を行うことができます。
個人が作る
プログラミング言語は、なんと個人でも作ることができるのです!
というか、誰でも作ろうと思えば作れるというのです!(その気になれば…)
日本で初めて国際規格に認証されたRubyは、まつもとゆきひろさんが個人開発されました。
また2019年には、開成中学3年の上原直人さんが、独自プログラミング言語「Blawn」を作り、経済産業大臣賞を受賞しました。
個人でプログラミング言語を作ることができるなんて、思ってもいませんでした!
想像できないほどの勉強や努力をなされたのでしょうね…
憧れてしまいます!
まとめ
今回は、プログラミングを始めようと思っている初心者の方には、共感していただけるテーマだったのではないでしょうか?
今回のテーマを調べて感じたことは、プログラミングをする人は向上心がすごい!でした。
時代の変化に合わせ、高速でスマート、かつ効率の良いものに変えようと試行錯誤する姿勢は、これからの時代を生きていくためにも、必要な思考であると思いました。
私はプログラミングに関して、まだ知識が浅いです。
自分自身の更なる知識向上を兼ねて、今後も「プログラミング初心者が感じる疑問シリーズ」を続けていこうと思います!(※不定期)
もしご指摘やアドバイスなどありましたら、教えてください<m(__)m>
ディスカッション
コメント一覧
まだ、コメントがありません