読者です 読者をやめる 読者になる 読者になる

プログラミングの写経サイトを作った

プログラミングの練習用に他人のコードを写経することってよくありますよね?

そこで、写経用のサイトを作りました。

ぜひ使ってみてください!

なぜ写経なのか

プログラミング言語を習得するために「写経」がおすすめ、みたいな記事はググるとたくさん出てきます。僕も初めて接する言語を学ぶときにはよく写経します。

プログラミングだけじゃなくて、数学を勉強するときにも写経は役立ちます。というか、僕はプログラミング歴が浅くて、数学を勉強していた時期のほうが長いので、写経の威力は数学のほうですごく実感してます。

だから、数学で写経がどうして役に立ったのかを少し書きます。

数学の専門書は、定理→証明→定理→証明→……って感じで進んで行きますが、証明はたいてい目で読むだけではよくわからないんですよね。ところが、ノートに手書きで証明を写すと、不思議と理解が進みます。目で証明を追うのとノートに書くのでは何が違うのか。まずスピードが違います。ノートに書くとどうしても遅い。少しずつしか書けない。だから書きながら、これはどういうことだろう、と考える時間がある。理解できなかったら手をいったん止めて、しばらく考えることができる。写経するという行為は、読むことと理解することのスピードを調節して、同期させる効果がある。そんな気がします。まあ、数学ガールふうに言うと、証明の書き進めた箇所までが「理解の最前線」であるようにすることができるんですね。

で、この方法はプログラミングでも有効です。僕も初めて学ぶプログラミング言語に対してはよく写経します。そうすると、一行一行の意味を理解しながら先に進むことができるんですね。たとえばプログラミング入門本にはときどき「#include <stdio.h>はおまじない」みたいな説明がありますが、こういうのも写経をしているとどうも気になってググったりするわけです。そんな感じで、理解のあいまいなところとか、ひっかかりのあるところで立ち止まることができるのも、写経の良いところなのかなと思います。

写経の効能ってそれだけじゃなくて他にもいろいろあるけど、とにかく「写経はいいぞ」としか言いようのない良さがあります。正直、あんまりコードの意味わかんなくても写経は何らかの効果があるかも(主観的)。だからみんな写経しようぜ。

実装

実装は React.js + Redux でやりました。Redux の使い方とか思想とかようやくわかってきたな、って感じ。