習得難易度
レベル1 (小学生でも分かりやすい): Scratch
レベル2 (易しい): HTML/CSS
レベル3 (易しめ): JavaScript, PHP, Swift
レベル4 (やや易しめ): Ruby, Python, Kotlin, Go
~大きな壁~
レベル5 (やや難しめ): Java
レベル6 (難しい): C, C#
レベル7 (最高難易度): C++
初心者はまず「大きな壁」の手前の言語から選ぶのがいいでしょう。
「大きな壁」の手前がスクリプト言語、奥がコンパイラ言語となります。
オススメのプログラミング言語は4つ
初心者の方は、年収の観点というよりは「ニーズの高いプログラミング言語」や「トレンドとマッチしているプログラミング言語」を選ぶといいでしょう。例えば、とある転職サービスが公開する求人件数で最も多いのが、Java、次いでPHP、JavaScript、Python、Rubyの順になっています。最も多いJavaは「大きな壁」の向こう側なので、初心者が手を出すと挫折してしまう可能性が高いです。
そのためプログラミング初心者の方がこれから選ぶのであれば、次の4つのうちのどれかから始めるのがいいと思います。
・PHP
・JavaScript
・Python
・Ruby
PHP (ピーエイチピー)
とても簡単にWebサイトの運営ができるWordPressは、全世界のサイトの半分くらいに使われています。そのWordPressのカスタマイズをする上では、PHPの知識は不可欠です。
大手企業は別かもしれませんが、中小企業の場合はWordPressで自社サイトを運営していることも多く、そのため安定した求人数を誇ります。易しめの習得難易度でありながら求人数は多いので、一度身につければ今後しばらくは大丈夫でしょう。
JavaScript (ジャバスクリプト)
JavaScriptはWebサイトに動きをつける言語として1990年代からありますが、近年ではスマホアプリの開発など多様なことができるようになりました。具体的にJavaScriptでできることとして、
Webページに動きをつける
ゲーム開発
スマホアプリ開発
などがあります。
Googleも力を入れていて、プログラミング初心者向けのJavaScript学習アプリGrasshopperを公開しています。2021年現在の求人数もかなり多く、これからもしばらくは廃れにくい言語と言えるのではないでしょうか。
Python (パイソン)
個人的なイチオシはPythonで、技術の発展が目覚ましいAIやIoTなどで広く使われているというのがその最大の理由です。これからもまだこれらの分野は伸びていくでしょう。Googleの三大言語(C++、Java、Python)の1つでもあり、世界的に人気が高まっています。難易度もやや易しめと比較的初心者でも挫折しにくいと思われます。
Pythonでできることの例としては、
AI/機械学習
Webサービス開発
ソフトウェア開発
IoTのシステム開発
統計・データ分析・科学計算
ブロックチェーン (仮想通貨)
ロボット開発(RPA)
など多岐にわたり、オールマイティーな言語と言えます。
ただし、Pythonにも苦手分野はあります。
バックエンドシステムの自動化や機械学習の用途にはよく使われるものの、ユーザーインターフェースを持つアプリケーションなどの分野は、できなくはないが扱いにくいので、ブラウザーにおけるJavaScriptや、JavaやKotlinなどの言語と比べると選ばれにくいです。
Ruby (ルビー)
唯一Rubyは国産の言語です。もともと書きやすく読みやすい言語ですが、日本語の情報が豊富にあるので困った時にもすぐに調べることができます。
Ruby on Railsというフレームワークを使うと、複雑なWebサイトも比較的簡単に作ることができ、世界的なSNSであるTwitterや、動画ストリーミングサービスのhulu、国内最大級のレシピサイトのクックパッドなどにもRubyは使われていました。
他にも、
スマホアプリ開発
業務ソフト開発
も可能です。
作りたいものにあったプログラミング言語の選び方
とりあえず、ご自身の作りたいものから選ぶというのもいいかもしれません。
Webサイト:
HTML(必須)・CSS(必須)・JavaScript
ユーザーによって表示が変わるWebサイト:
HTML(必須)・CSS(必須)・JavaScript(必須)・PHP・Java・Ruby
Androidアプリ:
Java(必須)・C#
iPhoneアプリ:
Swift(必須)
機械学習・人工知能:
Python(必須)
IoT:
Python(必須)・Java
システム開発:
C(必須)・C++・C#
さいごに
前述のとおり、私の個人的なイチオシはPythonです。
Pythonを初めて勉強したきっかけは、毎日かならず行う指定サイトにアクセスをし、出勤・退勤時にボタンをクリックするのが面倒だと感じ、PC起動時に自動でやってくれるプログラムを作れないかな~という思いからでした。そこから派生し、今では社内の運用もだんだんとPythonプログラムによる自動化を進めています。比較的日本語での参考サイトも多く、サンプルコードもたくさんあるのでコードを書くのに苦労はありません。
ただ、私は社会人になってから業務上でプログラミングスキルを身につけましたが、社会人だと業務以外ではなかなか勉強する時間なんてとれないのではないでしょうか。
時間が限られる中で効率よく短期間でスキルを身につけるには、オンラインプログラミングスクールに通ってプロに習うのが手っ取り早いかもしれません。
最低限の仕事も在宅ワークで可能というレベルに到達するには、独学の場合はおよそ500時間くらいだと言われています。プログラミングスクールなら200時間ほどでその水準に達します。
確かにスクールはお金がかかりますが、時給 x 浮いた300時間の労働を考えれば、はるかにコスパがよいとも思えます。
読者の皆さんの中に、もしプログラミングに興味がある方は、まずは自分がどんなものを作りたいかで勉強する言語を決めてみても良いかもしれません。