初心者のためのプログラミング言語の選び方、その1(言語の人気)
目次
はじめに
こんにちはnarupoです。
今は6月で徐々に暑い日が続くようになってきました。
熱中症などにかかると大変です。扇風機やクーラーを活用しましょう。
ところで、プログラミング初心者の人が最初にぶつかる壁があるのを知ってますか?
それはプログラミング言語選びの壁です。
プログラミング言語選びの壁
なぜこのプログラミング言語選びが壁となるのか。その理由は簡単です。初心者の人はプログラミング言語に関する知識が無いのです。
そのためどのプログラミング言語を選べばいいのかわからない。
プログラミング中級者以上の方も覚えがあるのではないでしょうか? 最初に学ぶプログラミング言語を選ぶとき、あ~悩んだな~とか、いや、あっさり決めたな~とか。
どのプログラミング言語を選べばいいのか?
私なりのプログラミング言語選びのコツを書いていきたいと思います。
私はすでに複数の言語を習得していて、それらの言語で成果物の制作も行えていますが、そんな状態でも「次に学ぶべき言語はどれか?」というアンテナは常に立てています。
なぜ複数の言語を習得しているのに、次に学ぶべき言語を気にする必要があるのかわかりますか?
その理由は簡単です。実は言語には、流行り廃りがあるのです。
つまり、今習得している言語も、2~3年後には廃れている可能性があるということです。
廃れてしまった言語はどうなるのでしょうか?
廃れてしまった言語
言語が廃れる、つまり人気が無くなると何が起こるのか。
これは、以下のようなことが起こり得ます。
- ライブラリが品薄になる
- メンテナーが不足する
- 仕事が減る
- 言語について話し合える人が少なくなる
1. ライブラリが品薄になる
1 は実は一番致命的かもしれません。言語にはライブラリというものが付属しています。
ライブラリというのはプログラミングを行う際の道具のことで、この道具が豊富だと色んなプログラミングが簡単に行えるようになります。
たとえばPythonだったら画像処理や機械学習などのライブラリがあります。
これらのライブラリは全て人の手で書かれています。
つまり、言語に携わる人が減るとそれだけライブラリを制作する人が減るということになります。
2. メンテナーが不足する
2 はどういうことでしょうか。
実は言語というのは巨大なプロジェクトです。
日々色んなプログラマーが言語をブラッシュアップしたり機能を拡張したりバグを修正したりしています。
それらを行う人々をコミッターとかコントリビューターとかメンテナーとか言います。
言語が廃れて言語に携わる人が減るとそれだけメンテナーも減ります。
つまり、プロジェクトを維持・管理する人が減ってしまうということですね。
メンテナンスされていないソフトウェアは言語に限らず品質が低下していきます(ただし枯れているソフトウェアは例外です。「枯れている」とは長年メンテナンスされた結果、良い感じになっている状態のことを指します)。
そうなるとまた人が離れていくという悪循環に陥ります。
3. 仕事が減る
3 は 1, 2 との関連もある現象です。
なんと言語が廃れると、その言語に関連する仕事も減ってしまいます。
なぜかというとライブラリの供給が減り、さらにメンテナンス性も低下すると、継続的に使用するのが難しくなってしまうからです。
使い込んですり減らした車がパンクしたとき、周りに修理する人がいなかったら困りますよね。
そのため企業はそういう事態を極力避けます。そのため人気のない言語は使われずらくなります。
ここでRubyについて記述しなければいけません。
Rubyは国産のプログラミング言語で国内でも人気がある言語です。
しかし2019年現在、ライバルのPythonというプログラミング言語に国際的な人気の面において少々押され気味です。
しかし、Rubyはなんといっても国産ですから、母国の日本ではRubyを応援しようという波が存在します。
その波を作り出しているのは日本国内のベンチャー企業や中小企業です。
国産の言語の国際的価値が高まればそれだけ母国である日本の優位性も高まるからですね。
HONDAのカブが世界中で使われると日本の知名度が上がりますよね。それと同じです。
そのため2019年現在においてもRubyの仕事はまだまだ多いです。
主にRailsというフレームワークを使ったWebサービスの開発で使われています。
ここら辺はRailsの人気も関係してくるのですが、それはまたの機会に。
4. 言語について話し合える人が少なくなる
4 は寂しい話になりますが、言語が廃れて言語に関わる人が減った結果、その言語について話し合える人が減ってしまいます。
寂しいですよね。寂しいだけならまだいいのですが、たとえば質問サイトで言語について質問したとしても、回答をくれる人も少ないわけですから、質問に対して回答が返ってくる確率も低くなってしまいます。
実際のプログラミングでは何か問題にぶつかったら、自分で調べたり人に聞いたりすることがほとんどです。
その選択肢のうちのひとつが弱くなってしまうということですね。
人気のある言語を選ぼう
プログラミング言語が廃れるとどうなるかわかっていただけたと思います。
ということで、プログラミング言語を選ぶ際の基準のひとつとして、「人気があるか」というのがひとつあります。
ここでStack Overflowという質問サイトによるプログラミング言語の人気ランキングを見てみたいと思います。
2019年人気&嫌われプログラミング言語ランキング- Stack Overflow
JavaScript, HTML/CSS, SQL, Python あたりが人気が高いみたいですね。
「人気があるか」というのは大事な基準ですが、もちろんプログラミング言語選びに大事なのはそれだけではありません。そのことについてはまた次回に書いていきたいと思います。
姉妹ブログを見に行く。