独学でも挫折を防ぐプログラム言語の学習方法

 

何かのプログラム言語を覚えようと思うと、最初に本を買うと思いますが、

すぐに挫折していませんか?

 

 

オススメの独学方法

私は以下の方法をオススメしています。

1.できるだけ薄い本を買う
2.その薄い本をやりきる
3.覚えた知識でたくさんのプログラムを作る

   →ショボくてもOK! まずは作る!!
   →むしろ長大作を作るのはNG
   →ショボいけど完成品を数多く作るほうがはるかに頭に残る
   →完成品というのが重要!!!
4.慣れてきたら、分厚い本を買う
5.その分厚い本をやり切る

   →分厚いけど、知識はついてるので前半部分は流し読みでいけるはず

 

もちろん人それぞれでしっくりくる方法は違うでしょうけど、私は上記の手順をしています。

そもそも私は 読書が超絶苦手。

文庫本一冊を一ヶ月以上かけても読み終わらないぐらい、本を読むのが苦手で大っ嫌い。
読書が好きな人なら一冊を一ヶ月以上かけても楽しいんでしょうけど、私はそうではないですし、そもそも技術を覚えるための本なのでいつまで経っても終わらないと嫌気が増大してきて結局 挫折 を迎えてしまいます。

なので、まずは完了したいので薄い本を買います。
薄くてもやり切れば楽しいですし、基本的な知識はつきます。

基本知識が付いた後で分厚い本で勉強すれば、内容が頭に入ってきやすいんですよね。

楽器の耳コピと同じく、サンプルプログラムをコピーしろ!!

で、本を勉強する際、楽器で言うところのコピーがいいと思います。
CDとかで添付されている見本のソースコードを自分の手でキーボードを打ってコピーするのです。

私は本を読んでいてサンプルプログラムが出てきたら、一旦読むのを止めてサンプルプログラムを打ち込み実行させます。
実行させてから本を読み続けます。

 1.自分で打つ
    →「内容を理解しながら」なんて要らない。まずはキーボードを打つ!
    →CDとかで添付されている見本のソースコードそのまんまでいいので自分で打つ!!!
    →見本のソースコードを見て『分かったつもり』はダメ絶対!
 2.自分で書いたソースコードを実行する
    →見本のソースコードを使わない、自分で打つんだ!
 3.まぁ、一回では動かないので直す
    →見本をそのまま見て打ったはずなのに、きっとコンパイルエラーが出まくるでしょう
    →書き間違っている部分を自分で探す
    →どうしても分からなければ見本のソースコードと比較してもいい
 4.再度動かす
 5.動きを見てからソースコードの内容を理解しようとする

    →完全に理解しようとする必要はないです
    →分かりにくい部分は雰囲気だけつかめばいいでしょう
 6.ソースコードをちょこっとだけ改変してみる
    →★これ重要!!!
    →どこをどう変更すれば、動きにどんな変化が出るのか試してみる

 

プログラミングは頭だけで理解していてもできません。
楽器やスポーツもそうですよね、音楽理論や戦術を頭で理解していてもできないですよね。体が覚える必要がありますよね。

 

プログラミングは、キーボードを打つ指が記憶していることが大切。

 

例えば、C言語を日常的に書く人なら

を考えて打つ人はいないでしょう。
無意識で打っているはずです。打ったかどうかも覚えていないぐらい無意識に打っているはずです。

『10回のループが必要』と考えた瞬間に自然と指が上記のコードを打っています。
それは指がプログラミングを記憶しているからなのです。

簡単で小さな規模でいいので、何度も何度もプログラミングすればプログラム言語なんてすぐに覚えられます。
語学や楽器の習得は難しいですけど、プログラミングの習得は難しくないです。

 

考える前に打て!!!

 

まとめ

プログラミングはそんなに難しい事じゃないです。
本文に書いていますが、『指が覚える』ぐらい何度も何度も打てばすぐにプログラミングなんてできます。
ギターでFのコードを弾く方が遥かに難しいです。

ショボくてもいいので、小さなプログラムを何本も完成させてみてください。
必ずできるようになります。

今回紹介した方法が合わない人もいると思いますので、自分なりのやり易い方法を探してみてください。

 

 

コメントを残す

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

ABOUTこの記事をかいた人

Windows/Mac/Linuxを使う現役システムエンジニア&プログラマ。オープン系・組み込み系・制御系・Webシステム系と幅広い案件に携わる。C言語やC#やJava等数多くのコンパイラ言語を経験したが、少し飽きてきたので、最近はRubyやPython、WordPressなどのWeb系を修得中。初心者向けのプログラミング教室も運営中。オンライン・対面・出張等でプログラミングをレッスンします。