C / C++とJavaから勉強することは運転したことない人がマニュアル免許を取るようなものです。

オートマの免許をとってからマニュアルを運転しましょう。

はじめに

最近、何かと耳にするプログラミングを勉強してみたい!

だけど、何から始めたらいいかわからない!という方はたくさんあると思います。

まず、プログラミングを勉強するにはどの言語を勉強するか決める必要があります。

ですが、プログラミングの言語は何百という数があり主要なものでも何十とあります。

多少、偏見は入りますが今回はシリコンバレーの現役エンジニアである僕が勉強するべき言語を厳選しました。

学ぶべきではない言語

C / C++やJavaは

今の世界で最もメジャーで重要な言語であるとほとんどの人が同意すると思います。

これらの言語は昔から存在しており、後に作られるプログラミング言語に多大なる影響がある。

偉大なる言語です。なのでよく耳にすると思いますし、いろんな記事があります。

ですが!!C / C++やJavaは初心者には決してオススメしない言語です。

詳しくは後述しますが、理由は難しいからです。

学ぶべき言語

ずばり、2019年の日本において学ぶべき言語は以下の4択です。

Ruby
JavaScript
Python
Swift

そしてこれらからどの言語を勉強しないといけないのかは作りたいものによって非常に簡単に決めることができます。

WEBをするならRubyかJavaScript

機械学習や画像処理をするならPython

iOSアプリの開発ならSwift

Ruby

唯一の世界的な日本製の言語です。主にWEBの世界でRuby on Railsと使用されることが多いです。日本製の言語ですので日本語でのコミュニティも多く学習のしやすさの点でもおすすめします。

JavaScript

ブラウザで動く唯一の言語です。WEBを作成する方(特にフロント、デザイン)は避けては通れない言語です。ブラウザで動く言語はこの言語だけですので、リッチなWEBサイトを作成するにはJavaScriptを使用する以外方法がありません。あまりメジャーではありませんが(マイナーでもありません)JavaScriptを使用してサーバーサイドも作ることができます。つまりJavaScriptのみでWEBサイトを作成することが可能になっています。

Python

世界で使われている最もメジャーな言語でしょうか。コードはRubyとかなり似ていてかつ世界スタンダートです。この言語の得意科目は最近はやりの機械学習やAIや画像処理になります。特に作りたいものが決まっていないのであれば、Pythonを勉強することをオススメします。

Swift

Appleが作ったAppleのための言語です。iOSアプリやMacのデスクトップアプリが作成できますが、それ以外のことはほとんどできません。なので、明確にiOSアプリが作りたいやMacのアプリを作りたい方のみにオススメします。

C / C++とJavaは学ぶべきでない理由

理由1: 難しい

プログラミングというのは難しい。賢い人がパソコンに向き合ってる。

そのようなイメージがあるのはこいつら C / C++ と Java などのせいだと個人的に感じています。

テクノロジーというのは時間が立つほど使用者にとって使いやすく簡単になっていくものです。

お米をたくのに昔は火から炊かないといけないところを、今はボタン一つで炊けます。

プログラミング言語も決して例外ではありません。

C / C++ と Javaのあとにたくさんのプログラミング言語が作成されて、使用者にとって使いやすい言語が山ほど出てきています。

わざわざ敷居が高い言語から勉強を始める理由は何一つありません。

車を運転するのにマニュアル免許から取るようなものです。

理由2:早さなんていらない

C / C++ や Java の一つの利点は早さです。

確かにこれらの言語はコンパイル言語といって、他の簡単な言語と比べて格段に早いです。

ですが、プログラミングを勉強し始めたばっかりの人は早いプログラムを書く必要があることなど滅多にないです。

そもそも、プログラミングの世界で早いというのはコンマ以下の秒数を競うものですから一般生活において全く気にならないものです。

例えば、WEBサイトをコンパイラ言語を使用して0.01秒早いものにしたところで、ネット通信で2秒以上かかっているのでユーザーには全く伝わりません。

確かに膨大な処理をするさいに、早さに明確な差が出るときはあります。ですが、そのような処理は一つのプログラミング言語を勉強したての人に任せることはほぼないと言ってもいいでしょう。

理由3: パソコンの深い理解なんていらない

C / C++を勉強する利点は早さ以外にもパソコンをより深く理解できるところにあります。

C / C++ は初期の言語ですのでパソコンのメモリなど、他の言語では自動でしてくれることを手動でしなければいけません。そのため、パソコンのことをある程度に理解していないとコードが書くことができません。

もちろん、パソコンの仕組みを深く理解することは大事なことです。ですが、ただでさえ学習に挫折しやすいプログラミングをわざわざ他にも勉強しないといけないことを増やすのは得策ではありません。

まとめ

初めてプログラミングを学ぶ方はRubyかJavaScriptかPython、またはSwiftもうちのどれかで無難です。C / C++ や Java はメジャーでよく聞きはしますが、学ぶには難易度が高くはじめに学ぶ言語としては全くオススメしません。他にもGoogleが作ったgolangなど有名でこれから流行りそうな言語はたくさんありますので、気になる方は調べてみても面白いかもしれません。