プログラム初心者はどの言語を選ぶべきか

2日 6月

よく「どの言語を学ぶべきですかね?」といった質問をされることがあります。で、いつも困ってしまうのですが筆者はRubyが好きなので「とりあえずRubyにすれば」みたいなことを言います。

しかし「この中ではぜったいこれがいいよ!」というのは、実際のところありません。ハッキリ言ってどの言語でもかまいません。どの言語を使おうと、できることはほぼ同じですし、機能的にも若干の違いしか無いと思っていいでしょう。しかし「うーん、とは言っても、どれがいいのか、うーーーむ。」となってしまうと思います。なので、ちょっと選ぶ基準をあげておきましょう。

その前に…言語ってそもそも何?みたいな疑問を持つ初心者は多いと思います。そんな方たちのためにそれらをブログの記事にしました。参考にしてください。
初心者のためのプログラム言語の種類と特徴

Ruby, PHP, Python, Javascriptの中から選ぶと良いでしょう

初心者には、JavaやCなど記述するコード量の多いものは、学習コストが高く、なかなか難しいでしょう。最初は言語がわかりやすいもの、記述するコード量が少ないもの「Ruby、PHP、Python、Perl、Javascript」の中から選ぶといいと思います。

さらに、その4つの言語の中から選ぶ基準としては、「友達が得意としている言語にする」ということです。プログラム初心者のころは、すべてが手探りというか「なんでこんなに上手く行かないんだ!」という連続になります。なので、その時に助けてくれる友達がまわりにいると、ものすごく助かります。プログラム勉強中は、はまってしまって夜も眠れないなんて事もあるのですが、友達がいればそんなこともないと思います。なので、友達にまず相談して決めるといいでしょう。

Rubyは一番おすすめ

「そんな友達はいないなぁ。。。」という方はRubyをお勧めします。 プログラムの初学者はRubyがベストだ思います。Rubyは簡潔にコードを書くことができて、人間が見て理解しやすい言語です。他の言語にくらべて余計なコードが少ないので、読みやすいのですね。そしてゆくゆくはRuby on Railsが使えます。そういった意味でもRubyはだんぜんおススメなのです。

機械学習やディープラーニングな目的であればPython

Pythonには今流行のディープラーニングやビッグデータ、機械学習などのライブラリが他の言語よりも豊富と言われています。こういった統計を扱うWebサービスを今後創りたいなどの目的があればPythonが良いかもしれません。フレームワークでもDjangoというたいへん実績のあるものがあります。NewYorkTimesでも使われていますし、ほんと実績十分です。

あとはGoogleがPythonを採用していることも大きいですね。Pythonといえば「Google言語」と呼ばれているくらいです。私も機会があればPython使いたいなぁと思っています。

日本語の資料の多さであればPHP

しかし、Rubyは書籍や日本語の資料という点では、あまり充実しているとは言えません。日本語での資料が一番多いのはなんといってもPHPです。そしてPHPはプログラミング初心者には、もっとも手軽だと言えます。先の例でも紹介しましたが、環境構築も楽ですし、コードを簡単にHTMLの中に書いていけるっていうのがいいですよね。

とくに書籍の量はPHPがぐんを抜いてます。こういう日本語の情報が多いというのはすごく助かります。なので英語はあまり得意じゃないという方はPHPを選ぶと良いかもしれませんね。

フロントエンドをやりたいならJavascript

Javascriptは上であげた3つとはちょっと違ってフロントエンドと呼ばれる「ブラウザ上で動作する」プログラミング言語です。それだけではなく最近ではNodejsのようにサーバーサイドでもJavascriptを使えるようになってきて「ぜんぶJavascriptでいいじゃないか」みたいな感じも見受けられます。

しかしプログラミング初心者が最初に覚える言語としては、ちょっとお勧めできません。Javascriptは今もっともホットと言っても良いと思うのですが、ちょっとまだ混沌としています。次から次へと新しい技術が出てきてますし、どこから手を付けて良いかがわかりづらいのですよね。

なので2つめの言語として覚えることが良いかなぁと思います。

ひとつの言語をマスターすれば、他の言語も理解できる

Dropboxのエンジニアであるライアン・ハンターは3つの言語の違いを次のように言ってます「C言語は、なんか本物のプロラマ気分にさせてくれる」「Haskell言語は、頭が良くなった気がする」「Python言語は、なんかとても気分がいいんだ」。で、今はDropboxの仕事で気持よくPythonを書いている最中とのことです。

このようにプログラマはひとつの言語だけではなく、たくさんの言語を使ってコードを書きます。「すごいね!3ヶ国語マスターしてる」と思うかもしれませんが、 それとは少し違います。RubyとJavaが「日本語」と「英語」くらい違うかというと、そこまではなくて、せいぜい「九州弁」と「東北弁」くらいの違いです。

まぁ、方言に例えると説明できない部分もけっこうあるので、この喩えがまったくその通りではありませんが、イメージとしてはこれくらいな違いしかないと思っていいです。なので、例えばRubyというひとつの言語をマスターすれば、他のPHP、Python、Javaなどを理解することができるようになります。言語間の違いは「文化の違い」が出ますので、面白いですよ。なので、ひとつをマスターしたら他の言語も学んでみるといいでしょう。

無料ビデオ講座のお知らせ

Skillhub [スキルハブ]では無料の動画講座を多数公開しています。他校だと数万円するような講座が無料で受講できます。

無料講座一覧を見る