最初にプログラミング言語はどれを勉強すれば良いのか【選び方解説】

2018年12月27日

エンジニアの虎岡です。今日は専門的知識がない人に向けてプログラミング言語について説明します。

プログラミングが料理に似ていることは説明しました。今回も料理で説明します。

ズバリ!!プログラミング言語とはフレンチ、イタリアン、中華、和食のような料理の種類だと思ってください

料理人それぞれに得意な料理があるようにエンジニアそれぞれには得意なプログラミング言語があります。

イタリア料理屋、フランス料理屋、中華料理屋があるようにシステム会社によって使うプログラミング言語は違います。中華料理屋で働きたいのにフランス料理しか作れない、では困ります。

中華料理が作れないからと言ってフランス料理が全く作れないのか?

中華料理もフランス料理も共通する工程がある

しかし中華料理が作れないからと言ってフランス料理が全く作れないわけではありませんよね?料理には共通する工程があります。焼く、炒める、茹でる、蒸すなどの工程は各料理に共通しています

プログラミング言語も同様でどの言語でも共通の論理があります。ここでは詳しく説明しませんが条件分岐、ループ、関数などがそれにあたります。

中華料理が得意な人は料理の基礎的な工程をマスターしておりフランス料理屋で修行を始めても習得が早いでしょう。一方でフランス料理特有の料理方法もあります。

エンジニアは最初は一つのプログラミング言語を勉強します。できることの幅広げるために新しい言語を習得する人もいます。転職して新しい言語を使うようになったという話もよく聞きますね。

何のプログラミング言語から学べば良いのか

世の中には多くのプログラミング言語は存在します。一部抜粋してみると、

  • C言語
  • Java
  • PHP
  • Python
  • Javascript
  • Ruby
  • Go
  • Shellscript
  • Swift

とまぁ。。。ありすぎですよね。私は学生の頃、これらの読み方さえ最初わかりませんでした。

「どのプログラミング言語から勉強すれば良いですか?」

という質問をよく頂きます。

料理に置き換えると

「どの料理から勉強すれば良いですか」

という質問になります。これにはみなさんは

「食べたいものを作ればいいんじゃない?」

と答えるのではないでしょうか。実際その通りでどの言語から勉強しても構いません

ただ難易度の違いはあります。全く料理経験がない人にフランス料理から勉強してもらうのは厳しい感じがしませんか?

一般的に「C言語」「C++」言語は難しいので最初に勉強するプログラミング言語としてはオススメできません

オススメはJavascript

最初にオススメなのはJavascriptです。理由は環境構築がしやすいからです。「環境構築?」と思った方に向けて説明すると、料理をするための厨房の準備が環境構築にあたると思ってください。

例えばJavascripを和食に例えます。刺身を作ります。環境構築はまな板と包丁を用意すれば終わります。

一方C言語を中華に例えます。チャーハンを作ります。環境構築は中華鍋、中華鍋が使えるコンロ、中華料理に適した火力を出せるガスの設備、炊飯器、まな板、包丁です。準備が大変ですよね?準備が大変だけど本格的な中華料理は作ることができます。

環境構築が大変な言語の場合、多くの初心者は準備の過程で挫折します。中華鍋が使えるコンロをどうやって用意すればいいのかわからないからです。これは挫折しても仕方ないです。

最初にC言語を勉強するのはダメ

大学でプログラミングを専攻している学生でも環境構築で挫折する人がいます。私もそうでした。

C言語というプログラミング言語があります。多くの大学ではC言語を学習します。C言語は慣れていないと環境構築で失敗します

エンジニアの一部の人は「C言語を最初に勉強するのが良い」と言います。確かにC言語はコンピュータの仕組みを深く理解する必要があるのでコンピュータの基礎を学ぶのには良いです。しかし初心者に難しいです。

理系の学生には「プログラミング言語=C言語」というイメージを持っている人もいてプログラミング言語は難しいと考えています。そのような人は稼ぐ機会を失っています。。非常にもったいない。

プログラミングがある程度できるようになってコンピュータの仕組みについて深く知りたくなった時、初めてC言語を学べば十分です。

ちなみにC言語がわからなくてもエンジニアの仕事はできます。C言語以外のプログラミング言語を使った求人は多くあり、給与も十分にもらうことができます。

Python,Ruby,PHPを勉強することはダメなのか?

Python,Ruby,PHPを勉強したい人もいるでしょう。Javascriptは無理強いしません。Python, Ruby, PHPの勉強を始めてください。

ただし繰り返すように環境構築で挫折する場合があります。その場合、そこでやめるのは勿体無いので、Javascriptをやってください。

Javascriptの基本的な知識は他の言語でも役に立つので無駄になることはありません。

プログラミング言語は話題になりやすい

プログラミング言語の話題はエンジニア同士でよく話題に上がるテーマです。一見難しいそうに聞こえますが、中華料理の良さやフランス料理の良さに語っているだけです。

中には中華料理以外は料理と認めないような過激な人もいます。そのような過剰に一つの言語を推してくる人は避けたほうがいいです。単なる好みで言っているだけで聞いても意味がないのでそっとスルーしておきましょう。