続々々..写経なんてやめとけ
- 「最強のプログラミング勉強法が写経である理由」 https://wirelesswire.jp/2018/06/65757/
「これで何度目だ?」と思う一方で,プログラミングに対する認識が「これはヒドイ」.*1
なぜ小学校では漢字の書き取りテストがあるのか。
漢字ドリルとは、同じ文字を何度も書いて反復するのである。
ひらがなだってカタカナだってそうだ。書いてみなければ、身につかない。
プログラミングは「カタカナ,ひらがな」とは違う.その例えは不適切.
プログラミングを「漢字の書き取り」にたとえた人もいるが,「算数の計算ドリル」の方がまだしも近い.「書き取り」の例えは極めて不適切で,こういう例えをだすような人はプログラマとは思えん.
ちなみに僕は、ドイツ語のアルファベットが覚えられなくて挫折したことがある。
A,U,Oのウムラウトとエスツェットの合計四文字以外は英語と同じ.それさえ覚えられないなんて,単に頭悪いだけでは.*2
外国語を学ぶときに最初にやるのはアルファベットの写経であり、その次にやるのは単語の写経であることは言うまでもない。
逆に言えば,言語を学ぶということは「アルファベットと単語を覚える」ことではない.英語のアルファベットを全部覚えていて,数千語以上の英単語の綴りを覚えていても,英語を学ぶのはそれ以上のものだ.*3
プログラミングにおいても同様だ.プログラミング言語の予約語を覚え,文法を覚え,基本APIの使い方を覚えても,プログラミングの学習においてはようやく麓にたどり着いたばかり.
であれば、プログラミングという「言語」を学ぶのに写経が最も有効なのは自明ではないかと思う。
「プログラミング」は「言語」ではない.
その例えは不適切で,その結論も自明ではない.
実際、同じコードを毎回、何千回と写経した僕はいまや目をつぶっていても正確なプログラムが頭に浮かぶ。
ここでいう「正確なプログラム」とはなんぞや.
多くの場合プログラミングとは新しい物を「創造する」作業であり,過去問の答を「丸暗記」することではない.答がわかっているならば,それは既に解決された問題であり,その作業は「車輪の再発明」に他ならない.いやそれ以下か.*4
「IKEAの家具の組み立てロボット」も,正確な組み立て工程を再現する.
https://jp.techcrunch.com/2018/04/21/2018-04-20-this-robot-can-build-your-ikea-furniture/
しかし部材や初期条件が完全に同じとは限らない.条件が異なれば状況の変化に合わせた臨機応変な対応が必要になる.*5
プログラムも素人目には全て同じような作業に見えるかもしれないが,完全に同じプログラムは二つとない.*6 自分がやってることが正しいかどうかもわからずに,ただひたすら盲目的に「正確なプログラムを繰り返すだけのロボット」など不要なのだ.
プログラマーというのは、一定レベル以上になると、地球上に存在するどんなプログラムも想像できるようになる。
「想像できる」なら誰でもできるんじゃない?
「創造できる」ならそうではない.
結局のところ、人間は体育会系的な反復練習から逃れることはできない。
「反復練習」とは写経のような単純作業とは限らない.
たとえば野球の「千本ノック」だって,ボールが全く同じコースを通ってくるのでは練習にならない.右へ左へ前へ後ろへと散らすし、スピードだって変化させる.さらにランナーがいたりダブルプレーの練習などになると,さらに複雑に変化する.もはや写経とは似ても似つかない.
そういう意味での反復練習がしたいのであれば,適当な練習問題でもやってみればいい.
写経よりよほど有意義だし,写経の無意味さを痛感するだろう.
http://b.hatena.ne.jp/entry/s/wirelesswire.jp/2018/06/65757/
- id:sgo2 単純に書き写すのではなく、アレンジした方がより良い。つまり二次創作最強。(とか言ってみる)
トレスして丸パクリするんじゃなくて,浮世絵を模写して,その技法を自分の絵画に取り込んでみるとか.
https://ja.wikipedia.org/wiki/%E6%A8%A1%E5%86%99
http://www.ukiyo-e.jp/japonisme/1
漢字の書き取りやひらがなカタカナの練習をするだけで小説家になれるだろうか.
これが「模写」的な学習法だと思う.やるなら写経よりは模写で.
オライリーとか?
Java Cookbook: Solutions and Examples for Java Developers (English Edition)
- 作者: Ian F. Darwin
- 出版社/メーカー: O'Reilly Media
- 発売日: 2014/06/24
- メディア: Kindle版
- この商品を含むブログ (5件) を見る
それに写経やってるような初心者は,良いコードと糞コードとの見分けもつかない.
- 作者: ひろさちや,三藤観映
- 出版社/メーカー: 日本放送出版協会
- 発売日: 2006/12
- メディア: ムック
- クリック: 1回
- この商品を含むブログ (3件) を見る
*2:せめてロシア語ならまだわかるけど.
*3:中高生でも,その辺はさんざんやったと思うんだが.
たくさんの英単語のスペルを覚えるのは英語学習においても重要だけど,どれだけ単語の綴りだけ覚えても英語ができるようには永久にならない.中学一年生だって,そのくらい知ってる.
*4:まるで「おれは計算ドリルの全問題の正解を、全部丸暗記してるぞ」と自慢してるようなものだ.漢字の書き取りならまだしも、数学問題だと数値が変われば答もかわる.「特定の計算ドリルの正解」の丸暗記に,数学上どんな意味があるのだろうか.
*5:それこそ木材なら,乾燥や湿度一つで素材が変形する.
*6:もしあれば発注ミスか,或いはパクリ.
*7:算数で「=」といえば「等しい」だからな.「a = a+1;」を書いただけで理解できたら,そっちの方がどうかしてる.