プログラミング言語の単純比較には意味がない。
こんにちは、高木です。
いろいろな質問サイトを見ていると、どのプログラミング言語の需要が高いかといった質問が目に止まります。
漠然とプログラマーを目指したい、あるいは現役のプログラマーではあるけれども、今後の自分の方向性について迷いがあるのでしょう。
けれども、ここではっきりしておかなければならないのは、プログラミング言語の単純比較にはまったく意味がないということです。
今回はプログラミング言語の文法面や機能面のことは話題にしません。
あくまでも仕事に使う道具としてどうかという点に絞って考えていきたいと思います。
いろいろな雑誌やウェブサイトで、プログラミング言語の需要がどの程度あるのかランキング付けを行ったりしています。
そうした情報を読み解く場合、まずはそのメディアがどういった性質であるかを考慮しなければなりません。
具体的には、ウェブ系や組込み系など特定分野の話題が中心のメディアであれば、アンケートを行っても最初の時点でかなりバイアスがかかっています。
海外のランキングをそのまま日本に当てはめるのも意味がありません。
さらにいえば、そのメディアが商業媒体の場合、何らかの商業的意図がそのランキングに反映されていると考えるべきでしょう。
下請けの流動案件(はっきりいえば、プログラマーにとってのうまみが少ない案件)が多いほど、ランキング上位に入る可能性が高いということもあるでしょう。
実はここからが本題です。
プログラミング言語によって適した応用分野が異なるため、交換可能なもの以外を単純比較しても意味がないのです。
プログラミング言語だけを見ていると客観的な判断ができない可能性がありますので、別のものに例えてみることにしましょう。
CADはどうでしょうか?
一口にCADといっても、建築設計のためのCADもあれば、機械設計のためのCADもあります。電子回路設計のためのCADもあります。
それらを単純に比較して、需要の多さをランク付けしてもまったく意味がないことがわかるはずです。
プログラミング言語もそうなのです。
残念なことに、プログラマーではない人たちはこの点を見誤ることが少なくありません。
用意に別の言語に移行できると考えてみたり、プログラマーであればどんな分野の開発もできると誤解してみたり……。
多くの人々の理解が進めば、案件とプログラマーのミスマッチは最小限に抑えられるのではないかと思います。
そのためには、プログラマー自身が自らのことをより正確に分析し、情報を発信していく努力が必要ではないでしょうか。