プログラミング学習に写経(お手本をそのまま書き写す)は有効か?

2015年3月3日に投稿 → に更新

「プログラミングの効果的な学習方法ってないかな?」
「最初は本などのお手本コードを書き写して動かすのが基本ていうけど効率が悪くないか?」

プログラミング学習法として「写経」という方法があります。お手本コードを書き写して動かすのをひたすら繰り返すというものです。元々は仏教の経典を書き写すことを意味する言葉なんですが、書き写す行為が同じなためプログラミング学習法としても使われています。

wada.fmというポッドキャストでPerlプログラマーとして有名なゆーすけべーさんがプログラミングの学習方法について話していました。

「ただ写経するんじゃなくて、目的を持って何かを作る中で他人が書いたコードを読み、変更や機能追加をするのが良い」

とのことでした。

ということで今回は「プログラミング学習法としての写経」について考えてみます。

全くの初心者は写経するしかない

写経が有効かどうかはともかく、全くの初心者の場合、はじめのうちは写経するしかありません。

何も知らないのでとりあえず本やWebサイトに書かれているコードを打ち込んで実行結果を確認することから全てが始まります。

すると、段々コードが理解できるようになってきます。ところが…、

写経するだけでは身に付かない?

よくあるのが、「サンプル動かしたんだけど、その後何すればいいかわからない」という話です。

こうなってしまうのは目的がないからです。

サンプルを動かせばサンプルの動作は理解できます。ですが、目的がないと、そこで止まってしまいます。

いわゆる勉強のための勉強になってしまうんです。

これが冒頭で紹介したゆーすけべーさんの意見へと繋がります。

「目的を持って何かを作る中で他人が書いたコードを読み、変更や機能追加をする」ことで、サンプルの先へと進めるのです。

目的を持つと学習対象への臨場感が増す

目的がないと、本やWebサイトを読んでいても、他人事のようで臨場感がわかず、なかなか頭に入りません。

それが、「こういうソフトウェアを作りたい!そのための方法を学ぼう」という目的を持って読むと、ぜんぜん違ってきます。

学校の授業でも、好きな教科は頭に入るけど、嫌いな教科は全然入ってこないものでしたよね。

つまりは、重要だと思ってないことは学べないということです。

  • 好きな教科 = 興味がある = 自分にとって重要
  • 嫌いな教科 = 興味がない = 重要ではない

プログラミング学習も同じです。

  • 作りたいソフトウェアを作るための技術 = 重要

目的があると、それを達成するために作業に没頭できます。その結果、本気の学習ができる、そういうものなんだと思います。

プログラミング初心者におすすめのサービス
1. 教室で学びたい派なら

プログラマカレッジは20代限定で、無料で受講できて、修了後、就職支援もしてくれるプログラミングスクールです。最高過ぎですよ、これ!!企業からの協賛金によって運営されいているため無料で受講できるんだそうです。すばらしいシステムだと思います!

30代の方には

プログラマカレッジは20代限定なので30代の方にはゼロスクがおすすめです。35歳以下なら無料で受講できます。教室も札幌、仙台、東京、大阪、神戸、福岡と全国展開しているので地方の方でも利用できます。

2. 自宅で学びたい派なら

TechAcademyの無料コースは20代限定でプログラミングのリモート学習 + 就職支援が無料で受けられるサービスです。なんといっても無料だし、就職に必要なスキルが身につけられるという意味でもやってみて損はないでしょう。

30代以上の方には

TechAcademyの無料コースは20代限定なので30代以上の方にはTechAcademyのJavaコースをおすすめします。Javaは求人が多くプログラマーとして就職したい方にはぴったりです。

3. つまづいた時に質問したくなったら

プログラマー専用の質問サイトteratailをおすすめします。 つまづいた時にteratrailで質問すれば教えてもらえます。

4. エンジニア未経験の人でも利用できる転職エージェント

ワークポートは未経験の人の転職活動も支援してくれますし、全国の求人を扱っているので地方在住の方にもご利用いただけます。お給料をもらいながら社内研修でプログラミングを学べる会社が狙い目です。

これらのサービスを活用すれば、全くの初心者からでもプログラミングをばっちり出来るようになると思います!レッツトライです!

 - 勉強法