アレアレ

お役立ち情報、お悩み解決情報を発信!

実践編

最初に学ぶべきプログラミング言語の選び方

このサイトの プログラミング教育 のコーナーでは、これからプログラミングを学び始める子供を持つ親御さんに向けて、プログラミングについてわかりやすく解説しています。全くプログラミング経験のない方は、基礎編の記事から、基礎編を読んだ方は実践編の記事をご覧ください。

最初に学ぶべきプログラミング言語の選び方

前回の、なぜプログラミング言語が必要なのか」がよくわかるたとえ話の記事では、「コンピューターに仕事を頼むには、コンピューターが理解できる言葉で指示する必要があり、そのためにプログラミング言語が必要になる」と言うことをご紹介しました。

つまり、プログラムを作るためには、人間がプログラミング言語でその指示を書けるようになる必要があります。そのプログラミング言語には、本当にたくさんの種類があるのですが、今回は、「たくさんあるプログラミング言語の中から、最初に学ぶべき言語をどう選ぶか」と言うことをご紹介します。

たくさん種類がある

プログラミング言語を学び始める前にまず知っておきたいのは、プログラミング言語には、たくさん種類があるという事実です。例えば、RedMonk Programming Language Rankingsの2017年版によると、2017年で人気のあるプログラミング言語のランキングのトップ22は、次の通りでした。

1 JavaScript
2 Java
3 Python
4 PHP
5 C#
6 C++
7 CSS
8 Ruby
9 C
10 Objective-C
11 Swift
12 Shell
12 Scala
14 R
15 Go
15 Perl
17 TypeScript
18 PowerShell
19 Haskell
20 CoffeeScript
20 Lua
20 Matlab

http://redmonk.com/sogrady/2017/06/08/language-rankings-6-17/より引用

実際には、この22言語以上に、もっとたくさんのプログラミング言語があります。

なので、プログラミングを学ぶに当たり、まずは「どの言語で学ぶか」と言うことを考える必要があります。

プログラミング言語は目的に応じて使い分ける

このようにたくさんあるプログラミング言語ですが、簡単には、作りたいプログラムの目的に応じて使い分けることになります。

例えば、次のようなイメージです。

  • iPhone向けのアプリを作りたい: Objective-C、Swift
  • Android向けのアプリを作りたい: Java
  • Webアプリを作りたい: Java、Python、PHP、C#、Ruby・・・
  • EXCELのような本格的なデスクトップアプリを作りたい: C++

以上は非常に単純化した例で、実際には、同じ目的のことが、別の言語でできたりもします。例えば、作り方次第では、JavaScriptやC#などでもiPhoneやAndroidアプリを作れたりします。

ですが、基本的には、その言語毎に得意とする分野があり、それを活かして使い分けることになります。

1つ習得すれば他の言語も書けるようになる

という話を聞くと、「うわー、たくさん学ぶことがあって大変そう」と思うかもしれませんが、心配ありません。というのも、プログラミング言語は、どれか1つを習得すれば、他の言語も書けるようになるからです。

例えば、Javaを学んだ人は、C#のプログラミング言語を習得するのは、簡単です。これらは、プログラミング言語のコンセプトや機能が似ているからです。

また、何か1つのプログラミング言語で、プログラミングの基礎となるアルゴリズムの作り方を習得すれば、別の言語で書くとしても、その書き方を変えるだけとなります。

1つのプログラミング言語をマスターすると、別の言語で書くことになっても、「あ〜、この言語では、こうやりたいときはこう書くんだな」という感じで、書けるようになるというわけです。

最初に学ぶべきプログラミング言語

というわけで、プログラミングを学ぶにあたり、とりあえず、どれか1つプログラミング言語を選び、学ぶことになります。

その最初に学ぶべきプログラミング言語をどう選ぶかですが、これは、「ズバリこれっ!」というのが、実は難しいです。というのも、プログラミング言語は、時代とともにどんどん進化しているからです。

つまり、「最初に学ぶべきプログラミング言語」も、時代とともに変化してしまうわけです。

例えば、私が学生時代に、大学の講義でプログラミングを学んだときは、アセンブリ言語という、基本的なものから学びました。その後、C言語を学習し、Javaを学ぶ、という順番で学びました。

今思えば、アセンブリ言語でアルゴリズムを作る基礎を学んだことは無駄ではないと考えていますが、当時は、退屈で仕方がありませんでした。というのも、アセンブリ言語でのプログラミング作成は、自分がイメージしていたものと全然違ったからです。

当時私は、プログラミングは、Excelのような「デスクトップパソコンで動くソフトウェアを作る行為」と思っていました。アセンブリ言語でのプログラミングは、それとは全然違ったわけです。

とりあえず、その時代によく使われているものを選ぶ

子供向けのプログラミング学習教材を提供しているcode.orgでは、JavaScriptを最初に学ぶ言語として採用しています。

これはインターネット全盛のこの時代、当然の流れのように感じます。というのも、JavaScriptは、インターネットを見るためのブラウザ(Safari、Chrome、IEのようなソフト)で動作するプログラミング言語だからです。

つまり、JavaScriptは、ネット環境でプログラミングを学習するのに適した言語ということですね。

このように、最初に学び始めるプログラミング言語は、時代によって変わります。ですが、どれか1つ学べば他に応用が効くという点は、変わっていません。ので、その時代によく使われているプログラミング言語から、まずは手をつけてみる、という選び方で構わないです。

次に読む記事: 「こんなこと人間にはできません。けど、プログラミングならできます」と言う具体例

Return Top