写経はプログラミング学習で効果あり【やり方を解説】

こんにちは、masakiです。

初心者
・プログラミングを学習しているけど、写経って本当に効果あるの?時間を無駄にしたくないから経験者から本当のことを教えて欲しい。
・写経以外にも効果的な学習方法はあるの?

こんな疑問をもっている方の為の記事です。

この記事を書いている私は、プログラマー・エンジニア歴10年以上で、Web制作・システム開発会社を7年以上経営していた経験があります。

今日は写経の効果と、やり方について解説します。

結論からいうと、写経はとても効果ありです。

では解説していきます。

スポンサーリンク

プログラミング学習でなぜ写経が効果ありなのか

経験豊富なプログラマーでも新しい言語を習得するときは、必ず写経しながら学習しています

私も複数の言語を利用してシステム開発することができますが、新しい言語をマスターするときには必ず写経しながら覚えていました。

では、実際にプログラムを書く時に、どのような流れになるか見てみましょう。

プログラミング言語を習得し、プログラムを書くときには必ず下記①〜⑤の流れを踏みます。

  1. プログラミング言語の知識を得る
  2. 何をプログラミングしたいのか頭で考える
  3. プログラムの構成や、どのようにプログラミング言語で書けばよいか考える
  4. プログラムを書く
  5. プログラムを動かす

多くの人は①プログラミング言語の知識を得る段階で、本やインターネットや動画を使って学習します。

その後②何をプログラミングしたいのか頭で考えることは誰にできますが、③以降、どのようにそれを書いたらよいか実装したらよいか考えられないのです。

そして④プログラムを書くこともできません。なぜなら①で文法などをマスターしていたとしても、書くタイミングで記憶や指に覚えたことが定着していないからです。

英単語帳を何度か読んだとしても、実際に自分で考えて英文を書くとなると書けないのと同じ現象です。

そして書いたプログラムを実際に動かすタイミングで、自分の書いたプログラムの色々な不具合や問題に遭遇し、⑤プログラムを動かすこともできません。

往々にして、プログラミングを読んだり見て学習しただけでは、このような状況になります。

では写経をした場合、①〜⑤でどのような効果があるか見てみましょう。

  1. プログラミング言語の知識を得る
    ➡ 写経をすることで書きながら文法や関数を覚えられる。
  2. 何をプログラミングしたいのか頭で考える
  3. プログラムの構成や、どのようにプログラミング言語で書けばよいか考える
    ➡写経をすることで、例題をなぞるように、プログラムの構成や書き方を学べる
  4. プログラムを書く
    ➡写経をすることで、実際に指に記憶を定着させることができる。
  5. プログラムを動かす
    ➡写経をしたので、そのプログラムが動くところまで経験できる

写経には上記のような効果があります。

写経をしないで学習した場合、③以降が学習できません。しかし写経をした場合は、③以降もまるで例題をなぞるかのように学習することができるのです。

効果的な写経のやりかた

写経をする場合、何も考えずにプログラムコードをタイピングしていたのでは意味がありません。

写経をする時の注意点をまとめてみます。

  • 書いているプログラムの文法と内容を理解しながら写経すること。
  • 紙や鉛筆で写経するのではなく、実際にプログラミングエディタにタイピングして写経すること。
  • 写経したプログラムを実際に動かしてみること。
  • 写経したプログラムが動かなかったら、デバック(何処を間違えたのか見つけて修正)すること。

常に上記を意識しながら写経してプログラミングを学びましょう。

では次に、写経をしながら学ぶのに最適な教材を見ていきましょう。

プログラミング言語の公式ドキュメントの写経

本やインターネット上のBlog等の記事を写経してもよいのですが、やはり一番効果があるのは、そのプログラミング言語の公式ドキュメントに記載されているサンプルコードです。

なんといってもプログラミング言語の公式ドキュメントは情報の鮮度も新しく、正確性と網羅性があります。

例えば、PHPプログラミング言語を学びたいのであれば、PHPの公式ドキュメントを片っ端に上から理解しながら写経していくのが良いと思います。

プログラミング学習サイトの動画をみながら写経

今だと非常に上質なプログラミング学習用の動画が沢山あります。

下記ドットインストールやUdemyといった有名サイトで、動画を見ながら写経するのが非常に効果的です。

ドッドインストール

ドットインストール

Udemy

他にも無料で学べるプログラミング学習サイトは沢山ありますので、気になる方は以下の記事をご覧ください。

無料で学べるプログラミング学習サイト

2019年8月21日

写経で学べないこと

写経は非常に効果的なプログラミング学習の方法ですが、万能ではありません。

上で、プログラムを書くときには必ず下記①〜⑤の流れを踏むという話をしました。

  1. プログラミング言語の知識を得る
  2. 何をプログラミングしたいのか頭で考える
  3. プログラムの構成や、どのようにプログラミング言語で書けばよいか考える
  4. プログラムを書く
  5. プログラムを動かす

プログラミングで何かを作る目的は大きく分けて2つあります。

自分で作りたい物を作る場合と、他人の作りたい物を作る場合(受託案件を受注した時など)です。

どちらの場合にしろ、②何をプログラミングしたいのか頭で考える時に、『○○したい』『○○の機能を実装したい』という願望や要望は無限のパターンが考えられます。これを考える能力。

そして、その無限の願望と要望を③プログラムの構成や、どのようにプログラミング言語で書けばよいか考える能力。

そして、実際に④プログラムを書き⑤プログラムを動かす能力です。

写経をすることで、これら③〜⑤を例題をなぞるように学習できると説明しました。

しかし、あくまで『例題』であり、量的にも質的にも十分ではありません。

例えば、受託案件を受注して開発しているときに、クライアントのビジネスモデルは多岐にわたり、クライアントはあらゆる要望を出してきます。その要望に対して③〜⑤ができなければなりません。

数と量をこなしまくって、色々なパターンで③〜⑤ができるようになる。つまり経験値を上げていく必要があります。

写経だけでは質的、量的に十分な経験を積むことが難しいのです。

プログラミング学習で写経の次にやるべきこと

経験に勝る学習はありません。写経での学習の次は、以下の2つをやってください。

最終的にプログラミングを習得するためには、実際に作ってみるしかありません。

自分が作りたい物を1から作ってみる

自分が作りたいWebサービスやスマホアプリを1から作ることは、プログラミングを習得するのに素晴らしい方法の一つです。

しかし、初めにあまりにも壮大な計画を立てて、大きなサービスを作ろうとするとおそらく挫折します。

作ってみるとわかりますが、どんな物でも0から1人で作るとなると大変なものです。

コツとしては、自分が日常で使いたい小さな物を作ることです。

例えば、あなたの日常の作業をサポートできるとか、あなたの時間を節約することができるとか、あなたにメリットがある小さな物を作ってみてください。

受託案件をこなしてみる

これが一番オススメです。

受託案件を受けると、その納期や必要とされる要件のプレッシャーで強制的に成長します。

私もWeb制作・システム開発会社を起業したばかりの時は、大した経験も無いのに、あらゆる案件を受けていました。

・2週間でWebサイトとシステムのフルリニューアルしたい。
・今月末までにECサイトを立ち上げたい。
・前の制作会社がダメだったので、月末までに全部作り直して欲しい。

などなど、納期も要望もめちゃくちゃなものが多かったです。

しかし、そういった案件を無理にこなすうちに人は成長していきます。

必ず、仕事を受注してみたり、開発プロジェクトに参加したりして経験を積んでください。

初心者が最速でエンジニアになる方法

2019年8月22日

プログラミングスクールで本格的に学ぶ

プログラミングは基本的に独学でも習得できますが、それなりに時間がかかります。

プログラミングスクールを利用することで最短でプログラマーやエンジニアになることが可能です。最近のプログラミングスクールでは就職までサポートしてくれます。

TechAcademyは自宅で学べるオンラインのプログラミングスクールで一週間無料で体験できます。

無料なのでとりあえず試してみるのが良いかなと思います。

» TechAcademyの無料体験はこちら

結局のところ継続し、進化していくしかない

プログラミングに限らず何事も同じですが、絶え間ぬ学習と経験を繰り返すこと、そして継続することが大切です。

継続しているうちに、自分が考えたことをプログラミングと周辺の技術で実現する方法が漠然と頭に浮かぶようになります。

こうなったら、後は手を動かし、何度もトライ・アンド・エラーを繰り返して形にしていく。

形になりそうなら、正確に速く綺麗になるように細部を洗練させていく。

プログラムで何かを作る事は、画家や建築家に似たものがあります。

この辺のお話はこの本がオススメです。

何かを自分で0から作れるって素晴らしいことだと思います。

是非プログラミングを習得して人生を豊かにしましょう。

エンジニアがおすすめするプログラミングスクール3社

スポンサーリンク