プログラムをはじめたいけど何からはじめたらいいかわからない。
プログラムをはじめてみたけど、途中で挫折してしまった。
プログラムをがんばっているけど、わからなくなって先にすすめない。
プログラムをこれから始めようという人、プログラミングの初心者が挫折せずにプログラミングを身につけるにはどうすれば、いいのか。
今回はそこに迫ります。
プログラミングを挫折せずに身につける全手順
結論:プログラミングを挫折せずに身につける方法
下記手順を繰り返すことです。あわせてモチベーションを維持するには目標をもつことと、真のモチベーションのためには目的をもつことです!
・必要な知識を学ぶ
・その知識をつかったプログラムを書き写して動かす
・書き写したものを、自分なりに書き変えて動かしてみる
・書き写したのと同じレベルのプログラムを自分でつくってみる
この繰り返しで小さなところからステップアップすれば、スキルアップがはかれます。
ただ、あわせて大切なことは目的をもち、目標をたてることです。
何のためにプログラミングを身につけたいのか、目的がはっきりしていればしているほど、挫折はしなくなります。
そしてさらに「挫折しないためには、目標をもって、1つずつそれをクリアしていくことです」
1000行で、プログラムが何かがわかりだします。
3000行を書くをすれば、自分でプログラムを作ることができるようになります。
もちろん、ただ写すだけでは、やる気を失うので、途中でちょっとしたプログラムを作ってみることでモチベーションの維持ができます。
3000行までの全ステップは、下にまとめました。
ここまでいけば、プログラムできる、と言ってもいいと思います。
その後、自分で考えて書いたプログラムが10000行を超えれば、ある程度自由にプログラミングができるようになるというのは、過去いろいろと教えてきた中で、いろいろな人を見てきて実感しています。
そこから真のプロとして独り立ちするには、何万行も書き続ける必要があるかも知れませんが、まずは3000行、そしてプロになるには、10000行をクリアすることを目標にすればいいのではないでしょうか。
手順:3000行のプログラムをクリアするまでの全手順
プログラミングの学習(独学)ステップです。
- まずは、始める-環境をつくってプログラムが動くようにする(ここが最初のハードルですが)
- Hello, Worldと表示したり、1+1等の計算プログラムを動かしてみる(環境ができれいれば、すんなりクリアするかも)
- 条件文やループ文などの制御文を覚える(次のハードル)
- 文字列操作、リスト操作などを覚える
- ファイルの読み書き等のやり方を覚える
- 簡単なプログラム(100行から300行くらいのもの)を、わからないところを調べながら写して動かしてみる
- 写したプログラムが動いたら、何か所か書き変えてみて、思った通りに動作するか確認する
- 関数の分割、呼び出し方を覚える
- 6で写したプログラムの一部分を切り出して関数にしてみる。
- ここまでの知識でやれるものを自分なりにつくってみる(例えば、じゃんけんとか、三目ならべとかのプログラム)
- 例外処理とそのやり方を理解する
- クラスの概念を理解する
- 10)で作成した自分のプログラムにエラー処理を組込み、一部をクラス化して再利用してみる
- 自分でやりたいことに必要な知識を学ぶ(Webスクレイピング、機械学習、Webフレームワーク等)
- 上記を学ぶ際に、必要に応じてそのシステムが動作する環境(デバッグ環境含め)構築して動作を確認する
- 14)で学んだ技術を利用したプログラム(500行から800行くらいのもの)を書き写して動かしてみる
- 動いたら、何か所か書き変えてみて、想定通りの動作をするか確認する
- 作りたいものをどのような要件にするか簡単に整理する(仕様の定義)
- 作りたいものの大まかな構成を決める(設計)
- 今までの知識を総動員して、プログラムを作ってみる
10)で1000行程度になり、初心者の入り口です。
ここまででは、自分がつくりたいものをつくるのは難しいかもしれません。
20)までいけば3000行程度になります。
最初の定義では、持っている知識の範囲で作れるものは作れるようになるということです。
プログラマの初心者になれました。
あとは、実際の業務にせよ、自分で便利なものをつくりたいにせよ、その対象をつくりあげるのに必要な知識を調べて、やってみることで、技術力は自然と向上していきます。
ようするに、上記20ステップをクリアさえできれば、プログラミングでその気になれば、稼げるということです。
20も手順があるのは、大変そうだ、と思いますか?
手元のPythonのプログラムで3000行のものを調べたら約8000文字でした。
8000文字って、何も考えずに写すだけなら1日かかりません。
もちろん、それだけではできるようにはなりませんが、逆にいうとその程度ということです。
更に言うと、挫折しないためには、わからなかったら写して動かしてみるだけでもできるようになります。
上記6番で写したものと同等のものを10番でつくる、もう一つ難しいものを16で写して、20番でつくるという手順を上にいれてますが、10番、20番の自分で作るが難しい場合は、追加でもう一つプログラムを探してきて写してみれば、できるようになります。
それでもだめだったら、追加でもう一つ写すだけです。
結局、途中でやめるかクリアするまで続けるかで、プログラムが身につけられるかが、決まってきます。
独学でプログラミングを学習するときのポイント
・非常に簡単な本(できるだけ簡単な本がいいです)を1冊よんでみる
これで上であげた20ステップのうちの、10番まではいけると思います。
ポイントは、サンプルソースがダウンロードできてもダウンロードはしないで自分でやってみることです。
既にプロの方は別かも知れませんが、初心者であれば、読んだだけで身についたと思うのは、気のせいなので気をつけてください。
特に最近はサンプルダウンロードが普通になっているので、そうとう大きなものであれば落として動かすのはありですが、文法等を説明した書籍であれば、自分でやってみるのが結局は、プログラミングを身につけるための近道になります。
ただし、ここでいけるのは、10番までで、この知識ではプログラムができるとはなかなか言えないし、自分で何か作ってみるというレベルには達していないと思われます。
このあたりが、独学の厳しいところです。
応用編の書籍を追加で購入して学ぶのが次のステップかもしれませんが、何をしたらいいのかわからずに積んでおくになりかねません。
そこで、次のポイントになります。
・自分つくりたいプログラミングを決める
今の仕事を効率化したい(Webスクレイピング)
画面を作りたい(Web画面)
などなど、自分の仕事や勉強、趣味などに直結するものがいいですね。
ちなみに自分はPythonを一通り上記手順にしたがって学習しましたが、
・ブログの文章を成形してHTMLなどの装飾が面倒なのでプログラムで自動化したい
・記事として何をかけばよいかの調査をしたい
というのがきっかけでした。
自分はPythonが、いったい何番目の言語かわからないくらいのものなので、20までのクリアは1週間もかからず、
・文章を読み込んでブログ用にショートコード付与やHTML変換をするプログラム
・指定したキーワードで検索上位サイト、タイトル一覧を表示するプログラム
をつくって、ブログを書く作業を効率化しています。
かかる時間は問題ではないと思います。
クリアさえしてしまえば、その言語では同じレベルになるということですので、プログラムを写す効果は絶大です。
最後にもう一つだけ、大切なポイントがあります。
・「ググる」
今は、ネット上にかなり多くの情報が流れていて、大抵のことがこれでできてしまいます。
検索最強です。
やっていくなかで、わからないことには必ずぶつかると思います。是非、多くの方が出してくださっている情報を感謝しながら活用させていただきましょう。
今回は、独学でも挫折しない手順と自分なりに思うことを書きました。
それでも時間がない、確実にという場合には、プログラミングスクールという手もあるかと思います。
おすすめの教育
プログラミングは、これからどんどん必要になっていくスキルだと思います。
将来は、誰もがプログラミングする世の中になるのではないのか、すこしでもそれにお手伝いができればと考えています。