Code Kata コード=カタ

Dave Thomas(Rubyを世界に紹介した達人プログラマ
http://www.codekata.com/


・Kataは空手の型。もう英語化してるみたい。


【背景】
優れたミュージシャンになるには何が必要か?
音楽理論の習得や,楽器の仕組みを知ることは役に立つ。
才能もあればいいけど,究極は「練習」。
何度も何度も練習するんだ。


スポーツでも同じ。
マッチョな体や才能もいいけど,
プロは一日に何時間も練習する。


ところが,ソフトウェア開発者はどうだろう?
ぶっつけ本番じゃないだろうか?
仕事の中で練習しているから,失敗するんだ。
プロの仕事と練習を切り離そう。
僕らには練習が必要だ。


【Kataとは】
練習に必要なのは,邪魔されない時間と,
試したくなるシンプルな方法だ。
何度も繰り返して,失敗に慣れる必要がある。
毎回,フィードバックを行えば,必ず向上していく。
仕事じゃなくて,プレッシャーがないことも大切だ。
練習が楽しくなる。
続けるうちに自分が進歩したって気がつくだろう。

Code Kataは,こんな練習の考え方を,
ソフトウェア開発に適用する試みだ。
Kataは空手の反復練習法で,続けることで,
日々,ちょっとづつ進歩できる。
Code Kataの意図はそこにある。
それぞれのKataは小一時間で試せる。
時にはコーディングが必要だけど,やり方は自由だ。
コーディングよりも,もっと背景にあることが,問題の主題だったりもする。


問題には正解なんか無いことのが多いだろう。
でも大事なのは,学ぶ過程で身に付いていくものだ。
それに,僕が新しいkataをどんどん追加していくだろうけど,
是非,頑張ってみてほしい。


Kataについて話がしたかったらメーリングリストがある。
http://tech.groups.yahoo.com/group/CodeKata/

wikiもね。
http://wiki.pragprog.com/cgi-bin/wiki.cgi