【初心者向け】プログラミングが上達するコツとオススメな勉強法

スポンサーリンク

プログラミングが上達しない人が多い

プログラミングは昨今小学校の授業にも取り入れられ始めるなどしており、皆がスマホを持ってインターネットにアクセスしている今ではもはや専門スキルではなく、一般教養として求められ始めています。

そんな中で自分もプログラミングを始めてみようと考え、本屋でプログラミングの参考書などを購入するという人も多いと思いますが、その大半はプログラミング技術をちゃんと修得することができないまま挫折して終わってしまいます。なので、今日はそうならないにするための個人的なアドバイスを書いていきたいと思います。

プログラミングは基礎より応用!

最近は無料でプログラミングを勉強することのできるサイトも増えており、そういったものを使って勉強している人も多いと思いますが、ここにも罠があります。というのもああいうのは基本的に「基礎をマスターするまで次に進んではならない」式の教育法で、そういうものに付き合っていると、何も出来ないまま終わってしまいます。なので中途半端な理解でもいいのでとにかく動くものを作るというアウトプット目指して突き進んだほうがいいです。

プログラミングは「基礎」に時間を使うよりも早めに「応用」に入ってある程度モノを作って、作って実際に動かしたうえでエラーなど色々疑問が溜まってから「基礎を復習する」方式のほうが遥かに効率的で、基礎周辺でうろうろしてチュートリアルを何周もしたりするのは「逃避」というか「勉強のための勉強」なのでやめたほうがいいです。

これは自分自身の経験なのですが、僕は独学でプログラミングを勉強し、始めて動くものを作った時、今にして思えばアホみたいな話ですがクラスと関数を一切使っていませんでした。つまりオブジェクト指向もクソもないダメコードを作っていたのです。

それからそれを指摘され、人のコードを見るなりしてようやくコードは部品のように種類ごとのクラス分けして1つ1つ関数にするということを知りました。例外処理を知ったのもプログラミングを始めてだいぶ後の話です。まあ何が言いたいのかというと、初心者向け参考書に書いてあることを100%理解しなくてもとりあえず動くものは作れるということです。

というのもプログラミングはif・for文と真偽値とリストさえわかればたいていのものは作れます。なので、まずはこの3つを理解するということを意識するとプログラミングが分かるようになると思います。逆に言うとこの3つを理解しないとプログラミングとは何なのかが理解できず挫折して終了ということも意味しています。

if文とfor文

上述したように、初心者が詰まる大きな関門にif文とfor文というのがあります。これらについては以下の記事で僕なりに超分かりやすく書いているので、読んでいただければ幸いです。

真偽値とリスト

プログラミングの参考書の始め辺りに出てくるものに真偽値というのがあります。この真偽値の下りでは、たいてい == や < や  > みたいな不等号と True と False がごちゃごちゃと書いてあります。この真偽値の意味や使いどころがいまいちよく分からないというのがプログラミング初心者が皆一度は考える悩みだと思います。

ではこの真偽値は何に使うのかというと、真偽値は基本的にfor文で繰り返し処理をする中でif文で処理を条件分岐させる際に使うものです。プログラミングは基本的にfor文とif文でできているといっても過言ではないので、if文を記述するときに使う真偽値は超重要なのです。

具体的に真偽値True・Falseはif文のどこで使われているのかというと、最初のif文の条件で定義するときに使われています。というのもif文はどのプログラミング言語でも基本的に以下のように定義されています。

if 条件式:条件式がTrueだったときに行う処理

基本的にはif文は条件式がTrueを返した場合に発動するので、条件式はTrueまたはFalseで帰ってくるものにしなければいけないのです。if文を書いているのにエラーを吐かれて良くわからんとプログラミングを挫折してしまう人の大半はこの真偽値の存在を意識していないことが原因だと思われます。なのでこういった理由でプログラミング初心者向けの参考書ではif文・for文の前に真偽値の章が絶対に設けられているのです。例えば1<10という条件式を実行すると真偽値はTRUEと返されますし、1>10という式を実行するとFalseと返されます。

スポンサーリンク

参考書を有効活用する方法

プログラミング初心者向けの参考書はたくさんあります。もちろん本選びも大事だと思いますが、基本的にどの本も分かりやすさの強弱はあるにせよ、そこまで変なことは書いてありません。大切なのはプログラミングの参考書を読んで、へーそうなんだー!で終わるのではなく、実際に参考書に乗っているコードを自分で書いてみることです。実際に自分でコードを書くことによって処理の意味がちゃんと分かり、自分でアレンジすることもできるようになりコードへの理解が深まります。

作りたいものを見つける

プログラミングにおいて一番大切なのはまず作りたいものを決めるというということです。これがないとプログラミングは絶対に上手くなりません。僕は自動取引Botを作りたいという一心でプログラミングを始めました。

自動取引Botを作りたいなーと思ったきっかけは単純でお金が儲かると思ったからです。実際にとても苦労しましたし、何度もハマりましたがようやく自分で自動取引Botを作ることができ、現在はBotがそこそこ稼いでくれていて、副収入になったりしています。

プログラミングをなんとなく勉強しているけど何が作りたいのかよくわからないという人はまずお金になるプログラムを作ってみるというのもアリかもしれませんね。もちろん人によって作りたいものは全然違っていて、ゲームを作りたい人もいていますしやWEBサイトを作ってみたいという人もいてますし、作りたいものがある方はそれを作れるように意識して頑張るとプログラミングは上達すると思います。

別に大層なものを作る必要は全然無いんですが、例えば簡単な「Twitter自動つぶやきBot」やツイッターアカウントを認証させて動くサービスみたいなものを、写経じゃなくて実際に自分で作ってみるだけでプログラミングの上達速度は全然違ってくると思います。

オススメのプログラミング言語は?

さっき上でチラッと触れましたが、プログラミングで作りたいモノは人によって違います。ですが、プログラミング言語には言語ごとに得手不得手が基本的に存在します。例えばこのブログを管理しているワードプレスはPHPというプログラミング言語で書かれており、PHPはWEBサイトを作るときに便利な言語です。

まあWEBサイトもサーバー管理も昨今流行りのデータ分析やディープラーニングも頑張れば全部C言語でできるから、C言語を勉強すればいいという人もいるのですが、個人的にはC言語はプログラミング初心者にはかなりハードルが高いと思います。ぶっちゃけ現場で働いているエンジニアレベルでもC言語は苦手という人は結構多いですし、転職でもC言語が使えると重宝されたりします。

なのでC言語はプログラミング初心者にとってかなりハードルが高いので、個人的にはPythonというプログラミング言語がオススメです。

上の記事でも書いていることですが、このpythonというプログラミング言語では何ができるのかというと、基本的には何でもできますゲームも作れますし、WEBサイトも作れますし、今流行りのディープラーニングを使ったAIを作る事も可能です。pythonでゲーム作りやWEBサイトを製作するために方法などについては「初心者のためのPython活用術 」という参考書が簡単に書いてくれているのでオススメです。

まあなんでこんなpythonを進めるのかというと、とにかくpythonは書きやすい・読みやすいプログラミング言語だからです。まあ実務で使うとなるとC言語などのコンパイル言語よりも処理速度が遅いというデメリットもあるのですが、Youtubeやインスタグラムはpythonで作られていますし、機械学習・深層学習(ディープラーニング)がとても簡単に行えます。

pythonはディープラーニングに使えるプログラミング言語という事もあって近年需要が増えており、エンジニアの平均年収もJAVAやPHPなどよりも高く言語の構造も非常にシンプルです。なので、プログラミングしたいけどなにが作りたいか、なんのプログラミング言語をやるか決まっていないという人はとりあえず趣味でも実務での便利なpythonで良いと思います。

終わり

以上が僕の知見です。まとめると下記のようになります。

・プログラミングはまずif文・for文・リスト・真偽値を理解する。

・理解できたら、作りたいモノが決めてそれを作れるように努力する。

・参考書は読むだけじゃなく書いてあるコードを実際に書かないと理解できない。

・プログラミング言語は特にこだわりがないならまずpythonやっとけ!

これを意識すれば、おそらく誰でもプログラミングができるようになると思います。プログラミングをやりたくて参考書を買ったけどイマイチよくわからん・・・となっている方の参考になれば幸いです。では~

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする