- 公開日:2017-7-28 最終更新日:2017-8-7
- プロナビTOP / 言語から探す, プログラミング上達のコツとは?事例で知る学習法

プログラミング言語をどう選ぶか?
人によって異なる選び方
プログラミングを学ぶとき、どの言語から始めるのがよいのか、というのはよく議論になります。学校の授業で使う場合は選択肢がなく、先生が選んだ言語で始めるかもしれません。仕事の場合は、会社の方針や顧客の指定によって決まることもあります。一方、個人的に興味を持って学ぼうという人にとっては、多くの言語のなかからとりあえず1つを選ぶことになるでしょう。
このとき、ほかの人にオススメの言語を聞くのも1つの方法です。ただ、質問する相手によってさまざまな答えが返ってきます。「C言語は万能だから知っておくべき」という人、「簡単なPHPが入門には最適だ」という人、「需要があるJavaがいい」という人…。誰かが間違っているわけではないのですが、初心者としては混乱してしまうところです。
人気ランキングから選ぶ
他の方法として、プログラミング言語の人気ランキングを使うこともできます。代表的な例として、TIOBEランキングがあります。最新の人気ランキングがWeb上で毎月公開されており、過去の推移も確認できます。
学ぶ言語は一つでよいのか?
作りたいものに合わせて選ぶ
多くの場合、作りたい内容が決まれば、実現できる言語の数はある程度絞られます。欲しい機能や目的を短時間で実現するためには、その機能に合った最適な言語を選ぶべきです。
もちろん、多くの開発現場で標準となっている言語も存在します。たとえば、Windowsのデスクトップアプリケーションが作りたければC#、iPhoneアプリが作りたければObjective-CやSwift、レンタルサーバーで動かすWebアプリケーションであればPHPやPerl、Excelの処理を自動化したければVBAなどを選んでおけば、とりあえず問題はなさそうです。

最適な言語は時代とともに変わる
ただ、Webサービスを作る、スマホアプリを作る、などの目標があって、それに対する言語をすでに選んでいたとしても、それが最善とは限りません。次々と新しい技術が登場しますし、ほかの言語には便利なライブラリが備わっているかもしれません。
気分転換に新しい言語を触ってみたことで、その言語が好きになってしまうことは珍しくありません。人によって好き嫌いもありますし、より高速に実行できる、記述量を少なくできる、などさまざまなメリットが見えてきます。
複数の言語を学んでスキルアップ
また、ほかの言語を知ることで新たな発見があり、逆に元の言語でもより読みやすい、より高速な処理を書けるようになるかもしれません。もちろん、部分的にでもほかの言語を導入する工夫ができる場合もあるでしょう。そのためには、似たような言語を学ぶよりも、まったく異なるタイプの言語を学ぶほうが効果的だと言えます。複数のプログラミング言語を学ぶだけで、プログラミングのスキルが大きく向上することもあります。
プログラミング言語を比べる
各言語の特徴や歴史を知る
複数の言語の中から、次に学ぶ言語を決めるには、プログラミング言語を比べる必要があります。ソースコードの書き方やそれぞれの言語の特徴だけでなく、コンピュータを取り巻く環境の変化や歴史などを学ぶと、それぞれの違いを理解できます。
インターネット上には様々な言語が紹介されていますし、各言語の公式サイトを見れば数多くのサンプルに触れることもできます。一方で、使われているサンプルプログラムは言語によってバラバラで、同じ処理を他の言語でどうやって書くのか、見比べるのが困難なことも珍しくありません。
各言語が一冊にまとまった「プログラミング言語図鑑」
「プログラミング言語図鑑」では代表的なプログラミング言語のなかから67言語を厳選し、各言語の特徴やポイントをイラスト付きで紹介、知っておきたいキーワードやサンプルプログラムを掲載しています。ほとんどの言語はオンラインでサンプルプログラムを実行できるため、事前にコンパイラを導入するなどの作業も不要です。
また、プログラミング言語の選び方や学び方、系譜や年表なども合わせて掲載していますので、複数の言語を見比べて選ぶことができます。

複数の言語を学ぼう
毎年新しい言語を学ぶ
人間が使う自然言語とは異なり、プログラミング言語は誰かが設計し、実装したものです。つまり、それぞれのプログラミング言語には開発者の思いが多く詰まっています。新しい言語には既存の言語に対する改善点が盛り込まれていると言えるでしょう。
名著とされている『達人プログラマー』(アンドリュー ハント、デビッド トーマス著)には、「毎年少なくとも1つの言語を学習する」という記述もあります。そんな時間はない、と思う人がいるかもしれませんが、最初の言語を学ぶのに必要な時間と比べると、2つ目以降の言語はより短い時間で学ぶことができます。
まずは一つの言語である程度の規模のプログラムを作成できることが大前提ですが、その言語にこだわる必要はありません。複数のプログラミング言語を比較して、新しい言語を学んでみませんか?
増井 敏克(ますい としかつ)
増井技術士事務所代表。技術士(情報工学部門)。情報処理技術者






































