次に学ぶプログラミング言語の学習には『Koans』がとても良さそう
前置き
Pythonを読めるようになろうと思い、Pythonの勉強をしていました。
というのも、海外の記事を読むと、サンプルコードや実装例にPythonが使われることが多く、読めないことに危機感を感じていたからです。
そこで、Python Koans(GitHub - gregmalcolm/python_koans: Python Koans - Learn Python through TDD)を一通りやってみたところ、「これははじめて学ぶプログラミング言語の取っ掛かりにとても良いぞ!」と感じました。
Koansとは?
ざっくりといえば、言語の機能・シンタックス・ライブラリを学習するための問題集です。
落ちているテストを通すという形式で、問題に解答していきます。
Ruby Koans(Learn Ruby with the Edgecase Ruby Koans)が元で、そこから様々な言語に広がっていったようです。
Koansの語源は「禅の修行者が悟りを開くための課題」を意味する「考案」から来ています。
主語が大きいかもしれませんが、海外のエンジニアの方たちって禅が大好きだな、と改めて感じました。
Koansは”次の”言語学習の近道である
言語の入門本には「プログラミング」そのものの学習を含んでいることが多く、既に一つ以上のプログラミング言語を習得しているエンジニアにとっては簡単すぎることが多いです。
一方で言語機能を網羅した辞書のような本は、はじめたて言語の学習に読む本としては重すぎます。
Koansは入門本と辞書本の中間のような立ち位置で、他の言語を習得済みのエンジニアが次の言語を触るための橋渡しをしてくれる存在と言えます。
Koansは「問題を解く」ことを中心に進めていきます。
手を動かしながら、「この問題を解くためにはこうする必要があるだろう。この言語ではどうやればいいんだろうか。(ググる。)」という感じで試行錯誤しながら進めることになります。
そのため、「手に覚えさせる」ように学習することができ、ただただ本を写経するよりも記憶に残りやすかったです。
Koansを一通りやり終えている頃には簡単なプログラムを書けるようになっている状態になっており、サクッと終わるにも関わらず力がつく良いコンテンツでした。