ici & ailleurs

Et j'ai aimé coder

Je n'ai jamais trop aimé coder. Résoudre des problèmes, si possible en trouvant des solutions élégantes, oui. Mais coder, bof, sans plus. L'écriture du code n'a toujours été qu'un moyen pour atteindre un objectif donné.

Il y a un peu plus d'un an, j'ai décidé que je voulais apprendre Python et arrêter de faire des sites web avec PHP. Ça m'est venu après avoir écrit quelques plugins pour Trac ; je voulais en savoir plus, je voulais faire mieux.

Je ne vais pas vous entretenir à propos des mérites comparés de l'un ou l'autre de ces langages. Ça n'aurait pas d'autre intérêt que lancer un immense troll. J'ai plutôt envie de raconter comment on peut changer certaines habitudes et les bénéfices que l'on en tire.

Changer, mais pourquoi ?

Quand on leur parle Python ou Ruby, la question qui revient le plus souvent parmi les développeurs web n'ayant jamais fait rien d'autre que du PHP est : mais pourquoi changer des habitudes qui fonctionnent ? Cette réponse vous l'avez sans doute déjà entendu dans bien d'autres contextes.

Changer est source d'anxiété. Nous avons nos habitudes bien ancrées et il est bien difficile de s'en défaire. Et puis, changer pour changer n'est pas forcément une bonne idée. Alors que faire ? Stagner ?

Stagner rend malheureux

Stagner est une option qui est confortable et le devient de plus en plus au fil du temps. J'emploie à dessein le terme "stagner" alors qu'il n'est pas approprié dans bien des cas. Se spécialiser dans une discipline demande du temps et il serait injuste de dire qu'il s'agit là de stagnation.

La formation traditionnelle d'un chef sushi prend 7 ans et il se passe une longue période où il ne fait que du riz. Stagne t-il pour autant ? Non, il apprend à faire le meilleur riz possible.

On stagne quand on cesse d'apprendre et quand on cesse de s'amuser.

Je ne m'amusais plus avec PHP depuis bien longtemps. Faire vivre la communauté Dotclear était super (surtout la partie résurrection ;) mais j'allais à reculons dès qu'il fallait coder un peu. Je stagnais et ce n'était pas agréable.

Stagner rend malheureux ou du moins retire le plaisir du travail intellectuel.

De l'inspiration

Apprendre un nouveau langage est une source d'inspiration immense. Vous devrez apprendre une nouvelle grammaire, une syntaxe et parfois même à devenir zen.

Il se passe rarement une journée sans que j'aie besoin de regarder un détail dans les sources de Django. La documentation est très bien faite, ce n'est pas la question, mais les sources éclairent définitivement ce qui pouvait rester encore un peu obscur. Souvent, cet exercice permet de découvrir certains façons de résoudre un problème auquel on aurait pas songé. C'est inspirant.

Apprendre rend heureux. C'est un chemin difficile mais gratifiant quand on obtient des résultats. Et puisqu'il est un peu question de Python, c'est là un langage avec lequel on obtient des résultats très rapidement.

Du fun, du fun, du fun

Si on écrivait un zen pour chaque langage, la première règle devrait toujours être "amusez vous". Il n'y a rien de plus fatiguant et laborieux que travailler avec un outil rébarbatif. Peu importe l'outil ou le langage, si vous vous amusez, vous accepterez les lacunes et les problèmes. Et quand le fun disparait, changez de langage, explorez de nouveaux chemins.

Me concernant, je m'amuse réellement en faisant du Python, c'est même la première fois qu'un langage tient à ce point sa promesse ludique. Pour d'autres ça sera peut-être autre chose ; Ruby, Java, Cobol, Brainfuck...

Je crois avoir oublié de faire l'éloge de Python comme il se doit, alors voilà :

Just a few years ago I decided that I needed to learn Python. I don’t remember the reason. I don’t even know that there was a reason. Python was there, and that was enough.

It didn’t take long to learn – Python isn’t a difficult language – but for just that little bit of learning I got so much power, well – I don’t have to explain it to you. You understand. It’s a bit like crack, Python is. Once you’ve had that first hit, you’re never quite the same again.

[Mark Pesce, How Not To Be Seen]

Et pour mes chers lecteurs qui continuent de gré ou de force à faire du PHP, n'oubliez pas que : Unicode c'est vraiment trop compliqué, allons plutôt faire du shopping.