Et si aujourd’hui en ce vendredi ensoleillé, je vous racontais ma vie et pourquoi/comment je suis devenu développeur avec PHP ? J’ai pas d’enfant, mais un jour, il me posera quand même peut-être cette question, si on suppose qu’entre temps j’ai acheté les peluches des mascottes de mes langages préférés…
Les débuts plutôt basiques …
TI-83. Obtenue en troisième. Je vois qu’on a une partie concernant les programmes et je fais joujou avec des jeux qu’on m’a passé. Je me dis que c’est passionnant. A l’époque je savais pas encore si j’allais partir en informatique ou dans le journalisme, plus tard.
J’ai commencé donc mes premiers petits programmes en basic, le premier assez abouti était un morpion ! On est en 1999. Je suis content de moi, mais ça me semble un poil compliqué sur certains aspects, mais j’aime bien me creuser la tête, je poursuis, et je continue en commencant HTML chez moi dès la fin de l’année de première (Donc été 2001, le moment où j’ai eu mon premier pc sous windows ME !).
C Compliqué la programmation !
Bon en fait non, c’est juste une manière de penser, mais quand vous arrivez en BTS Info, que vous n’avez programmé que sur votre calculatrice en Basic, et fait un peu d’HTML (pas propre du tout), coder en C sous linux sur un terminal X avec emacs, c’est quand même assez sec !
Donc, en 2002, je découvre le C, et surtout linux. Mandrake 7.2 sur les postes de l’école. Avec le windows ME, j’envisage de tester ça à côté, parce que ça a l’air bizarre et que je suis curieux. Fin de la première année de BTS, je suis en dual-boot windows/debian.
La deuxième année de BTS, on enchaine sur le C++. J’adore comment c’est pensé, même si je trouve ça bien compliqué pour pas grand chose (les pointeurs … notion qui compris à un moment, se disperse dans votre cerveau après quelques années de non-utilisation…).
Été 2004, fin de la deuxième année de BTS, j’ai fait du C et du C++, sous windows et linux à chaque fois. Je me rends compte que linux a l’air d’être vachement mieux doté en outil gratuits de développement, et je suis sous la noname, qui va bientot (je ne le sais pas encore à l’époque) devenir ubuntu. Et j’abandonne windows à ce moment là. Cet été ça fera donc 5 ans sans windows.
PHP, l’éléphant permissif…
Y a de ça 5 ans, je débutais en PHP en même temps que je faisais du C++. Une debian avec apache, mysql et php à la maison, c’est cool. J’ai bien appris, puis j’ai continué pendant l’année de licence pro, en même temps que j’ai découvert Java. Java, langage qui me plait malgré la lourdeur des programmes produits, car plus haut niveau. Le web m’intéresse déjà beaucoup (je me suis mis aux CSS à cette époque), et PHP5 devient mon langage préféré à l’époque.
Alors que je trouvais C et C++ trop bas niveau, et Java trop lourd, PHP me convenait très très bien pour le web. Un poil trop permissif, mais du coup très très souple…
S’ensuit l’été 2005, où je commence à contribuer à la traduction d’ubuntu en français, et où je participe à l’aide sur un salon de discussion francophone (#ubuntu-fr :p). Je fais aussi du PHP5. Puis vint la soutenance de stage en septembre 2005 … Et là, le diplôme obtenu, coucou le chômage…
Jusqu’en avril 2006, où je suis embauché dans une petite boîte bossant sur un intranet pour avocats, où je me retrouve vite seul, l’autre développeur partant pour créer sa propre société. J’ai appris et peaufiné beaucoup et donc, en avril, cela fera trois ans que je vis de mes développements PHP.
Ruby, une vraie perle (et pas perl)
Courant 2006, pas longtemps après avoir commencé à travailler, j’entends parler de Ruby. Pas de RoR comme plein d’autres. Non, Ruby, qui avec quelques outils permet de vite faire des petites applications graphiques. Je commence à penser à faire autre chose que du web, me mettre à acquérir beaucoup de connaissances sur le développement d’applications desktop sous Linux. Mais pris par le travail, et finalement pas trop motivé pour faire des applications desktop, ainsi que ma pratique du jeu de rôle s’intensifiant en même temps, je finis par laisser Ruby de côté fin 2007 après un peu plus d’un an où j’ai fait joujou avec Glade, Sqlite, RoR, etc …
J’adore dans Ruby sa syntaxe, sa manière d’être pensé et de fonctionner. Mais les performances de RoR me semblent peu intéressantes, et les librairies sont finalement peu nombreuses comparé à un langage équivalent que je rejette pour l’instant à cause de sa syntaxe que j’aime pas du tout alors : Python.
Et ce fut la morsure…
Un an passe, un peu plus, Ruby laissé de côté, pas de réadhésion à RubyFrance, je me recentre sur PHP et sur les différents frameworks… Et puis à plusieurs reprises, on me reconseille d’essayer Python. J’étais vraiment effrayé par cette syntaxe où seule l’indentation délimite les blocs. Pas d’accolade fermante, pas de end, rien.
Et pis y a peu, genre 2 semaines, motivé pour vraiment découvrir, je me lance.
Comment dire ? Python est un langage concis, efficace, et lisible, et lorsqu’on s’habitue à sa syntaxe (pas de ; comme en Ruby, mais aussi pas de marqueur de bloc autre que l’indentation), on se demande pourquoi les autres langages ont des syntaxes si compliquées…
Je ne connais pas encore bien tout, mais avec les nombreuses librairies, le nombre d’utilisateurs plus grand, et donc l’aide plus facile à trouver, la documentation plus importante, le fait que beaucoup de petites choses sous linux sont codées en python, tout ça me motive. Pire, je vois souvent des gens qui en font, qui peuvent me conseiller, je deviens accroc à plein de petites spécificités du langage…
Au final, sur tous les langages sur lesquels je suis passé, 3 retiennent mon attention :
- C++ : Pour sa puissance, sa rapidité. Les programmes C++ sont souvent les plus rapides.
- PHP : Pour le web, c’est le plus répandu. Il permet un peu de faire n’importe quoi, et sans framework on peut vraiment arriver à des scripts loufoques, mais heureusement, les frameworks PHP sont vraiment bien fait.
- Python : très légèrement plus performant que Ruby, les applications sont un poil plus réactives que les mêmes en Ruby (je pense à une application GTK qui lance des dés que j’ai faite dans les deux langages).
A terme, il me semble évident d’abandonner PHP car même si PHP6 comble beaucoup des manques de PHP5, les hébergeurs n’y passeront pas avant longtemps… et quitte à utiliser un langage qui soit peu répandu, je préfère désormais utiliser python plutôt que PHP, qui avait comme avantage d’être installé quasiment sur tous les hébergeurs mutualisés…
La (triste mais vraie) conclusion
Même si au boulot je risque de rester encore pas mal de temps sous PHP5 je sais qu’à titre personnel j’ai de plus en plus de mal à me dire de démarrer un nouveau projet dans ce langage, surtout depuis que je connais python, car c’est vraiment le langage qui correspond à ce que je cherchais, parce qu’il est pas complexe, qu’il permet des choses vraiment puissantes, et les programmes codés avec ont une réactivité et des performances appréciables. De plus, il y a nombre de modules supplémentaires et de tutoriaux/documentations en ligne .
Bref, même si je ne le maitrise pas du tout encore autant que PHP5, je ne désespère pas. Ce langage me plait, et une fois que je le connaitrai je passerai plus à autre chose …