【初心者向け】遠回りしないプログラミング勉強法

こんにちは、フリーランスエンジニアのサカイです。

未経験でプログラミングを勉強する場合、
「どうやって勉強するか?」がめちゃくちゃ重要です。

プログラミングは誰でも習得可能なスキルではありますが、
勉強法の選択によっては挫折する可能性があります。

勉強する内容や順番を誤ると、必要以上に壁にぶつかり
嫌になってしまう可能性があるんです。

そこで今回は挫折せずにプログラミングを習得できるような
「項目、順番、方法」についてしっかりご紹介します。

1.あなたに最適なプログラミング言語を選択しましょう

プログラミングを勉強するにあたり、
プログラミング言語の選択はめちゃくちゃ重要です!!!

プログラミング言語の選択によって挫折するかどうか?が左右されます。

なぜならプログラミング言語によって習得までのハードルの数が全然違うからです。

特に初心者の場合、プログラムを実行するための環境設定でつまづく可能性があります。

また注意点が多い言語、少ない言語があります。

色んなことを気にしなくてはいけなくて、わけがわからなくなり、
挫折するパターンも避けなくてはいけません。

ですので、ご自身の今のレベルにあった言語を選択を強くおすすめします。

興味のあるプログラミング言語を選択することも間違いではありませんが、
挫折しそうならレベルに合ったプログラミング言語に切り替えることをおススメします。

では実際にどんなプログラミング言語を選択すればよいのでしょうか?
3つのレベルに分けてご紹介しますね。

  • レベル1:プログラムのプの字も知らない
  • レベル2:何となくノリはわかる
  • レベル3:簡単なプログラムは書ける

レベル1:プログラムのプの字も知らない場合

全くプログラムに触れたことが無い、
プログラムのプの字も知らないのであれば、

  • JavaScript
  • VBScript(Windows限定)
あたりから始めた方が良いですね。

まずは「プログラムがどういうものか?」を知る為に
シンプルな文法の言語からやるのが良いです。

「あれもこれも気にしなくてはいけない」言語は
最初のチョイスとしては適していません。

またこの2つの言語は、短いプログラムを書くだけで、
「プログラムを書いたら、その通りに動作した」という実感を簡単に得ることができます。

準備のハードルも低いんです。

他の言語は始める為の環境を整える必要があるので、
簡単に始められなかったりします。

環境の準備自体は、仕事をする上でとても重要なスキルではありますが、
未経験なのであれば、まず「プログラムを知る」だけに集中して勉強した方が良いです。

重要だからと言ってあれもこれも一度にやっては
効率悪いだけですし、挫折しやすいので。

まず、プログラムの「ノリ」を感じる。そして楽しさを知る。これが重要です。

僕が経験しているプログラミング言語は、以下の8つです。

  • C
  • C++
  • Win32
  • Java
  • PHP
  • Python
  • JavaScript
  • VBScript

厳密に言えば違いはたくさんありますが、
「プログラム」という点ではだいたい共通しています。

基本的な文法は細かいお作法が違うだけで、ほぼ同じです。

なのでまずは「プログラムを知る」ことを
手っ取り早くクリアすることが必要です。

細かいお作法を覚えるのは次の段階と割り切りましょう。

ちなみにVBScriptはWindows専用言語なので、
あなたのPCのOSがWindows以外なのであれば、Javascriptから勉強してみましょう。

何となくのノリがわかれば、レベル1はささっと終わらして、
レベル2に移りましょう。

レベル2:何となくノリはわかる

  • 何となくプログラムがどういうものかはわかる。
  • 1行、2行ぐらいのプログラムぐらいなら書ける。

という場合は、

  • ruby
  • php
  • python
このあたりを勉強すると良いと思います。

比較的簡単な言語ですし、実際にこの言語のどれかを使えれば仕事につくことができます。
極めれば仕事に困らない言語です。

どれも現場で結構使われていますからね。
rubyなんかは高単価の案件をよく見かけます。

もしWebサービスなどの仕事につきたいなら
ruby、phpをやった方が良いです。

pythonは最近AI関連で使われているので、
AIとかに興味があるならpythonですね。

ちなみにレベル2の言語はプログラムを実行する為の
環境設定を最初に行う必要があります。

プログラミングをする上での最初の大きな壁になり、ここでつまづく人もいます。

もしあなたが環境設定に自信がない、つまづきそうなのであれば、
動画で1つ1つ丁寧に教えてくれるUdemyの講座がおススメです。

レベル3:簡単なプログラムは書ける

  • プログラムを少し書いたことがある
  • 大学の授業で書いたことがある
など、ある程度の経験があるなら、

「Java」

です。

「未経験の状態で1つしか勉強してはいけない」
と言われたら(そんなこと無いと思いますが)、僕は迷わずJavaを選びます。

理由は2つです。

  • 圧倒的に仕事が多い
  • 他の言語も簡単に覚えられるようになる

「Javaはもう古い」「Javaは終わった」と言う人もいますが、
実際、圧倒的に仕事が多いですし、単価も高いです。

単価80万で仕事に困ることが無かったら、文句無いですよね?

システムの開発言語にJavaを採用している企業は、
たくさんあります。

そもそも大規模開発を意識して、作られた言語ですからね。

なのでそう簡単には無くなりません。

もう何十年も経ったら減っているかもしれませんが、
この先10年ぐらいだったら無くならないでしょうね。

更にJavaをマスターすれば、他の言語を覚える時に苦労しなくなります。

「大は小を兼ねる」的なことです。

Javaを勉強しておけば後々の苦労が減りますので、
僕は強くおススメします。

ただプログラムのプの字も知らない状態でやると、
心が折れるかもしれないので、
ある程度プログラムを覚えてから勉強した方がいいですね。

1つ補足ですが、
あなたがもし企業のシステムやWebサービスではなく、
機械などの物作りに興味があるならC、C++です。

機械を制御する系の開発では(「組み込み系」と言われます)、
だいたいC、C++が使われます。機械制御に適しているからです。

組み込み系中心で仕事をやっていきたいなら、
とりあえずJavaのことは忘れて、C言語を勉強しましょう。

そしてある程度C言語に慣れてきたら、
C++もやっておけば、今後苦労することは少ないでしょう。

C++はJavaと似ている部分が多いので、
途中で気が変わってJavaをやりたくなった時でも、ハードルが低くなります。

ただいきなりC++はやめておきましょう。
C++は初心者がいきなり手を出すにはハードルの高い言語です。

挫折すると思いますので、まずはC言語から始めましょう。

2.プログラミングを勉強する順番


さて、ここからは勉強の方法や優先事項について、ご紹介します。

「習得の速さ」「現場での実用性」という観点で、お伝えしますね。

ステップ1:細かいことは気にせず、たくさん書く

プログラミング言語の勉強は、
まずは「とにかくたくさん書く」ことを優先すると習得が早いです。

以下のようなことはいったん置いといて、
色んなプログラムをたくさん書くことを優先しましょう。

  • 内容の深い理解
  • 正しいお作法

最初から深く理解するのはかなり難しいです。
そんなことをするぐらいなら1行でも多くプログラムを書いた方が身に付きます。

最初は「なんか知らんけど書いたら動いた」でも良いのです。

まずは入門書的な本から始めると思いますが、
細かいカラクリはあまり気にせず、本に載っているプログラムを書いて動かしてみましょう。

図書館で入門的な本を2,3冊借りてきて、書いてみるといいと思います。

「説明を1つ1つ理解しながら進める」なんてことはしなくていいですからね!

ステップ2:サンプルプログラムをたくさん読む

ステップ2が終わったら、今度は読む方にも力を入れていきましょう。

サンプルプログラムが載っている本を読んだり、
初級の本に書いてあるプログラムを色々読んでみましょう。

基本的な文法をある程度覚えた後は、
サンプルプログラムが載っている本を購入して、どんどん動かしてみるのがおススメです。

そしてそのサンプルプログラムがどんなコードになっているのか読んでみる。

「サンプルプログラムを動かして、読んでみる」

これを繰り返すと「その言語でどんなものが作れるのか?」をつかめてくるので、
どんどんスキルアップしていきます。

プログラムの仕事の8割は「読む」作業です。

実際の現場では
1から膨大なプログラムをひたすら書くなんて仕事はあまり無く、
もともとあるプログラムの内容を理解、整理して、
そのプログラムに対して修正や追加をする作業がほとんどです。

また今のプログラムの状態を調査(解析)して、問題点を探す仕事も多いです。

ですので読む力をアップさせた方が、確実に仕事で役立ちます。

「書く力」はあるに越したことがありませんが、
ハイレベルなこと、トリッキーなことを覚えたところで、
実際の現場で使うことはありません。

複数の人間で同じプログラムを扱う場合、
「誰にとってもわかりやすいプログラム」を書くことが求められますので、
ハイレベルなこと、トリッキーなことは歓迎されません。

なので、ある程度プログラムを書く力がついたら
読む力に優先順位を変えましょう。

「できるだけたくさんのプログラムを読む」ことは、
初心者に限らず、今度ずっと大切なことです。

特に新しい現場に入った時は、
現場で扱っているプログラムをできるだけ多く読むようにしましょう。

ステップ3:プログラムのお作法を知る

ある程度「書いて、読んで」を積み重ねたら、
仕上げとして正しいお作法を身につけましょう。

ここで「脱初心者」ですね。

仕事のプログラムは趣味とは違い、
複数の人間で同じプログラムを扱うので、
他の人にとって読みやすかったり、修正しやすいことがとても重要です。

最初から気にする必要はありませんが、
仕事のプログラミングにおいてはとても重要なテーマなので
プログラムの読み書きに慣れてきたら、少しずつ覚えていくようにしましょう。

お作法について色々と本が出ていますが、
『センスオブプログラミング』は勉強になりました。

実際現場で開発されている方が書いた本なので、
実践的な内容でとても参考になりました。

開発あるある的な話もあって、笑える部分もあります。

まとめ

勉強に適したプログラミング言語

  • レベル1:JavaScript、VBScript
  • レベル2:ruby、php、python
  • レベル3:Java、C、C++
プログラミングを勉強する順番

  • ステップ1:細かいことは気にせず、たくさん書く
  • ステップ2:サンプルプログラムをたくさん読む
  • ステップ3:お作法を知る

今回は「習得の速さ」「現場での実用性」の観点でご紹介させて頂きました。
参考にして頂ければ嬉しいです(^^)

頑張って下さいね!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください