意味悲鳴

PythonとかUnityとか.技術ブログでしたが,研究ブログにシフトしました.

日記:2016/05/22

ありがとう,丹下桜さん.僕は桜さんのおかげで精神的に生き返ることができました.

先日この記事で見つけたこれを実践してみた.

jp.techcrunch.com

スタンフォード出身の私の親しい友人は、Association for Computing Machinary International Collegiate Programming Contestの優勝者になった経験を持つ。ACMチャンピオンシップに関して彼が私に語ってくれたことは、解決しようとする問題を理解することの重要性だ。

「本当に問題は存在するのか」そして「それにファインマンの原理を応用できるのか。それを他人が理解できるように説明ができるのか」ということを、あなたは自分自身に問わなければならない。

その友人いわく、エリート校の生徒でも問題の要綱を一度だけ読んでからすぐにコーディングを始める者がほとんどだと言う。

その友人がそのチャンピオンシップで優勝した年、彼はあることを学んだ。エリートでさえ「コード」という一つの武器だけで複雑な問題に頭から突っ込んでいくということだ。

一方、私の友人は問題を徹底的に理解してから初めてコードを書き始めた。問題を理解すること自体に与えられた時間のほとんどを割いたのだ。彼がコード書き始めたのは締め切りまであと数分というところだった。

彼はチャンピオンになった。

彼はプログラムを打ち込むこと自体は問題解決の手段ではないことを知っていた。冷静沈着な問題解決能力こそが、文字通り問題を解決する手段なのだということを。

実践と言ってもやってることはとっても単純で,ソースコードを書く前にひたすら日本語で「どんな処理をどんな流れで行うか」考えて書くだけ.たったこれだけ.これだけなのに明らかに書くスピードが上がった.
本当は紙とペンだったり,ホワイトボードだったり,そういうものを使ったほうが楽にかけるのかもしれない.
理由は,やっぱり頭のなかのもやもやを一度文章に書き起こしたからだと思う.しかもそれが日本語だから.一番慣れ親しんだ言語で書いてから,プログラミング言語に翻訳してあげることで,書くスピードが上がったんだと思う.
これは今後も積極的にやっていこうと思う.書く量は増えるけど,結果的に時間が短くなるならこれほど嬉しいことはない.
明日からも頑張るぞい.