Un koan est dixit wikipedia
koan est une une brève anecdote ou un court échange entre un maître et son disciple, absurde, énigmatique ou paradoxal, ne sollicitant pas la logique ordinaire.
Un exemple de Koan
Quel est le son d’une seule main qui applaudit ?
Il existe des Koan pour la programmation. Ce sont des mini problèmes pour s’initier à une technologie.
RubyKoan
Le plus connu et le premier est RubyKoan.
Regardons ensemble la première utilisation.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
J’ouvre le fichier about_asserts.rb
.
1 2 3 4 5 6 7 8 9 10 11 |
|
Il suffit de changer le false
en true
Relancons, On avance petit à petit et toutes les notions du ruby sont expliquées.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
C’est un moyen facile et rapide pour apprendre un langage. Ceci dit j’ai personnellement fini les rubykoans. Mais 1 mois plus tard, j’étais incapable d’aligner une ligne de code en ruby. Faire passer les tests n’est pas très compliqué quelque soit le langage.
Il y a aussi les Katas de programmation, Mais c’est plus un cahier des charges avec des tests d’acceptations (On parle de BDD) alors que les koan sont plutôt dans la notion d’unitaire.
Quelques Koan.
Bien sur les RubyKoans il existe une version en ligne.
Les python-koans sont vraiment chouettes Il y a python 2.7 et python 3. Si les premiers problèmes sont faciles. Les derniers sont plutôt durs.
En javascript on peux citer
J’ai été un peu déçus de ne pas trouver des Koans en php. Cela reste très basique. je citerai:
- PHPUnit-koans
- et celui-ci par votre serviteur (mais c’était il y a bien longtemps) mcamuzat/PHPUnitRegexKoan
Conclusion
Je vous avais parler des awesome-list et bien il existe une liste de awesome-koans.