Cela peut semble paradoxal, mais J'ai toujours envisagé de laisser tomber PHP, et cela pratiquement dès que je l'ai découvert.
À l'époque, PHP 4 venait tout juste de sortir, et pour quelqu'un qui avait fait du C++ de manière intensive pendant plus de 5 ans, le modèle objet de PHP tenait plus de la fumisterie que d'autre chose.
De plus, les incohérences du langage étaient encore plus nombreuses qu'actuellement, et il n'était pas rare que je sois frustré car il n'allait pas dans le sens qui m'arrangeait.
Pour autant, il n'était pas envisageable de basculer le développement du projet sur lequel je travaillais sur un autre langage, et de toute façon, à part Java, il n'y avait pas pléthore d'alternatives.
Et plus important encore, j'arrivais malgré cela à faire ce que j'avais à faire.
Rétrospectivement, je peux donc dire que les défauts de PHP à cette époque, couplé au manque d'alternative, n'étaient pas une motivation suffisante pour passer à un autre langage.
D'autant qu'en 2005, la version 5 de PHP a enfin été disponible, et qu'elle a gommé pas mal de défauts, puisqu'elle proposait un modèle objet plus costaud, des exceptions, les fonctions magiques, la SPL, les itérateurs, etc.
À ce moment là, j'aurais pu effectivement switcher
, puisque je venais de quitter mon premier emploi et de fonder ma société.
J'avais donc une feuille vierge devant moi, et j'étais totalement libre de choisir mes outils de travail, et donc mon langage de programmation.
Pourtant, j'ai choisi de continuer à faire confiance à PHP, pour plusieurs raisons.
Tout d'abord, j'avais à ce moment là 5 ans d'expérience avec le langage, et il était plus que raisonnable de capitaliser sur cela dans le cadre de ma création d'entreprise.
De plus, j'avais besoin d'être productif, et je n'avais guère le temps d'apprendre un autre langage, entre le travail de secrétariat, la comptabilité, le démarchage, la mise en place de l'infrastructure technique, j'en passe et des meilleures.
Enfin, PHP 5 était à mes yeux bougrement intéressant, et même si l'un de mes collègues administrateur système de l'époque répétait à tour de bras que Python était une tuerie, ce dernier n'était pas à mes yeux suffisamment mature à cette époque pour faire du web.
Pour autant, j'ai gardé un œil sur Python, tout comme je gardais un œil sur Rebol, Ruby et quelques autres.
En effet, si la majorité du code que je produit est écrit en PHP, javascript, html, SQL, bash, C/C++ ou vimscript, je lis énormément de code écrit dans d'autres langages, par pure curiosité, parce que j'ai besoin d'extraire un algorithme, pour adapter un programme à mes besoins, ou bien tout simplement pour comprendre comment configurer l'application et la mettre en production.
Pour en revenir à PHP, au fil du temps, j'ai ressentie avec PHP 5 la même frustration qu'avec PHP 4.
Et de la même façon que précédemment, les versions mineures successives du langage sont venues effacer certain des défauts qui me rebutait, ce qui fait que si la frustration et l'envie de switcher
étaient toujours présentes par moment, les motivations sous-jacentes n'étaient pas suffisamment fortes pour faire franchir le pas.
J'ai même commencer à faire des choses franchement délirantes avec PHP, comme écrire avec ce dernier les scripts nécessaires au fonctionnement de mon gestionnaire de fenêtres.
Cependant, pendant que PHP évoluait lentement, Ruby et Python sont montés en puissance, allant même dans le cas de ce dernier à faire table rase du passé afin d'avancer encore plus vite et surtout beaucoup mieux.
PHP 6 est également rentré dans l'équation, puisqu'il s'est mit à devenir un vaporware et qu'il était clair pour celui qui suivait un minimum son développement que ce dernier s'enlisait.
Parallèlement, la communauté des développeurs de PHP est restée fidèle à elle-même, fermée et très hautaine, et même si le langage évoluait, il évoluait lentement, et dans une direction très floue.
J'aurais pu passer à Python ou Ruby à ce moment, mais j'ai décidé de ne pas abandonner et de me battre, en créant ce blog et en m'investissant (un peu) dans le développement du langage, parfois directement, parfois indirectement.
Puis, j'ai été licencié économiquement, et pour la première fois de ma vie, j'ai eu du mal à retrouver un emploi.
En effet, j'ai été confronté à la réalité du marché de l'emploi qui est que, même s'il monte en puissance dans le monde de l'entreprise en général, PHP est un langage minoritaire à côté de Java et .NET, et je ne parle même pas de Python ou Ruby pour lesquels les offres sont plus que rarissimes.
Pour une offre d'emploi concernant PHP, vous avez 8 offres relatives à Java et 2 spécifiques à .NET,.
Et pour peu que vous recherchiez un poste autre que développeur de base, c'est la fin des haricots.
Attention, je ne parle ici que du marché du travail en province, et non du marché du travail parisien, que je ne connais pas et que je ne veux pas connaître, même s'il semble plus favorables à PHP que celui de la province.
Toujours est-il qu'à force de ne pas trouver de poste à ma mesure, j'ai franchement envisager de changer de technologies et de me mettre à Java ou .NET, car même si, vu d'avion, ces langages m'attirent beaucoup moins que Python ou Ruby, comme le dit la sagesse populaire, il faut bien bouffer !
Pourtant, encore une fois, je n'ai pas switché
, mais contrairement à ce qui s'est produit par le passé, PHP en lui-même n'y est strictement pour rien, car il n'y a pas eu de nouvelle version pour me redonner un nouvel élan, même si j'avoue être pressé que la version actuellement en développement soit enfin disponible officiellement.
Il se trouve juste que PMSIpilot m'a proposé le poste de mes rêves, et que cette société utilise principalement PHP pour ses développements.
Ce ne sont donc pas les améliorations apportées à PHP qui m'ont empêcher de passer à autre chose, mais bien une opportunité économique.
Et si j'ajoute que PMSIpilot envisage d'utiliser Ruby en interne pour certaine tâche spécifique, la porte, qui était précédemment complètement fermée, est maintenant grande ouverte pour que j'aille voir à côté si l'herbe est plus verte.
9 réactions
1 De Nicolas Laforêt - 07/10/2010, 16:24
Un petit lien pour alimenter le débat : http://seldo.com/weblog/2010/09/27/...
2 De desfrenes - 07/10/2010, 16:27
Marrant d'entendre parler de Rebol... à part les couvertures de feu Login magazine je n'ai pas l'impression que ça ait beaucoup percé... non ?
3 De mageekguy - 07/10/2010, 16:44
@desfrenes : Rebol n'a pas pris, effectivement, mais ça reste un langage intéressant.
4 De metagoto - 07/10/2010, 19:00
@desfrenes
Le mag Login, oui! Il y avait tout un numéro sur rebol, avec si je me rappelle bien un exemple de ray caster en 20 lignes de code (ne pas confondre avec "ray tracer"). Bref, je m'étais fait avoir par le hype, faut dire que j'étais jeune ; -)
Par rapport au lien de @Nicolas Laforêt, même conclusion concernant rebol: s'il devait percer, il l'aurait fait depuis longtemps..
@mageekguy
Je ne sais pas si on doit parler de "switch" dès qu'on se met à étudier un nouveau langage et coder des trucs... à moins d'avoir une aversion complète pour le précédent langage, ce qui serait un peu ridicule (et un terrible aveu d'échec!). Même si c'est pour garder un seul langage de prédilection, je pense qu'on a tout intérêt à aller voir ce qui se fait ailleurs. Toujours.
Ces temps-ci, je ne sais pas pourquoi, je me fais une mise à niveau python 3. Non, c'est pas pour switcher! (d'ailleurs il n'y a pas de switch dans python)
5 De speedyop - 07/10/2010, 19:07
Je partage le même avis : productivité avant tout, et capitalisation des connaissances.
Le langage utilisé ne devrait pas être parmi les premières questions à se poser au démarrage d'un projet, voir au recrutement d'une personne.
On vente rarement les qualités d'un produit en décrivant les langages utilisés.
6 De Yacodo - 07/10/2010, 19:31
C'est bien dommage que PHP soit si peut utilisé en province, mais d'un autre côté il y a aussi le télétravail qui reste envisageable, à condition d'aimer car c'est rarement des idées neuves, et il faut batailler sévère... Enfin, maintenant que tu as le poste de tes rêves plus besoin de trouver des raisons, et l'envie, pour switcher !
7 De jubianchi - 07/10/2010, 21:52
Je suis un peu dans le même cas : j'ai souvent envisager le "switch" mais je n'ai jamais réellement franchis le pas...
J'ai bien été tenté par d'autres langages, plus particulièrement le C#, mais bizarrement cela m'a remotivé à utiliser PHP : le .NET c'est bien mais on est beaucoup moins libre qu'en PHP : tout est cadré, régis par des règles très strict qui, à mon sens, limite la créativité. A la suite de cette expérience, j'ai adopté C# mais surtout pas pour faire du web : le .NET c'est très bien pour faire de belles appli mais lorsqu'on veut s'amuser dans le web je pense que le PHP est bien mieux.
Alors c'est sur, cette liberté peut conduire les moins expérimentés à faire tout et n'importe quoi mais quand on maîtrise l'outil je trouve que c'est un avantage.
Pour moi, PHP reste la star du web : un langage accessible, simple et quand même relativement complet même s'il a ses défauts (comme tous les autres langages). Maintenant, j'attends de découvrir plus en détail Ruby et Python pour tenir des propos un peu plus nuancés....
8 De sunseb - 08/10/2010, 05:42
J'ai enfin retrouvé un article intéressant que je voulais partager :
http://www.oreillynet.com/ruby/blog...
J'aime beaucoup l'analogie que fait l'auteur :
"PROGRAMMING LANGUAGES ARE LIKE GIRLFRIENDS: THE NEW ONE IS BETTER BECAUSE *YOU* ARE BETTER"
Quand on y réfléchit, c'est souvent comme ça ! Quand on change de language de programmation, on a l'illusion que le nouveau est bien meilleur que l'ancien, sans vraiment réaliser que c'est le programmeur qui s'est amélioré. Le language est un outil, l'artiste reste le développeur.
9 De usul - 08/10/2010, 10:15
Le fait de capitaliser sur de l'expérience est quand même très important pour une société qui recrute.
@speedyop
Même si je sais qu'un très bon dev java ou c++ n'aura a priori pas de soucis à faire de l'objet en php, si le mec doit perdre 2 semaines pour être à peu prés au niveau et comprendre le framework de ma boîte, c'est potentiellement deux semaines de retard pour mon projet.
Sinon je suis plutôt d'accord avec @metagoto, avoir un langage de prédilection est une chose naturelle et c'est aussi naturel qu'il change dans le temps sans pour autant renier les autres.
Et avec vos conneries je vais être obligé de regarder python de plus prés