Non mais PHP quand tu abordes ça déjà tu te dis que le langage c'est un vrai bordel. Plus amusant, le bordel est changeant et polymorphe selon les versions du langage, ce qui rend quasi impossible l'écriture de code capable de fonctionner simplement sur plusieurs versions du langage.
Ajoutons à cela que le langage est assez permissif et neuneu-compliant pour inciter à l'écriture de code illisible, et que la sécurité est une préoccupation qui semble avoir toujours eu une priorité basse sauf peut-être récemment, et on comprend que 99% du code PHP est buggé et souffre de failles persistantes.
Et puis tu commences à regarder l'API.
Et là tu pleures.
Je crois que je n'ai jamais vu un tel bordel. Une tétrachiée de fonctions avec des idées sympas genre:
- plusieurs fonctions font la même chose
- plusieurs fonctions se ressemblent, mais ne font pas la même chose
- plusieurs fonctions sont voisines, mais l'ordre de leurs arguments est subtilement différent
- une fonction a une fonctionnalité qui change complètement selon le nombre d'arguments qu'on lui passe.
- le nommage est aléatoire. parfois il y a un préfixe devant les noms de fonctions d'une même API, parfois pas.
- Il n'y a de toutes façons pas de convention de nommage. fonction(), api_fonction(), ApiFonction() et diverses autres conventions se mélangent allègrement.
- des fonctions non documentées
- des fonctions dons la doc (uniquement dispo en ligne, trop de la balle pour développer quand t'as pas une connexion internet) qui disent que ça marche pas
- etc, etc.
Ce langage n'est qu'un ramassis de verrues qui ont poussé sur un truc qui était à l'origine pas fait pour (Personnal Home Page que ça voulait dire PHP, c'était pas pour rien), et ça se voit. Sa seule chance a dû être de disposer d'un module Apache et d'être assez facile à utiliser pour que les hébergeurs s'y intéressent et le proposent à leur clients.
[^] # Re: PHP
Posté par dyno partouzeur de drouate . En réponse au journal Sortie de PHP 5.3. Évalué à 10.
Ajoutons à cela que le langage est assez permissif et neuneu-compliant pour inciter à l'écriture de code illisible, et que la sécurité est une préoccupation qui semble avoir toujours eu une priorité basse sauf peut-être récemment, et on comprend que 99% du code PHP est buggé et souffre de failles persistantes.
Et puis tu commences à regarder l'API.
Et là tu pleures.
Je crois que je n'ai jamais vu un tel bordel. Une tétrachiée de fonctions avec des idées sympas genre:
- plusieurs fonctions font la même chose
- plusieurs fonctions se ressemblent, mais ne font pas la même chose
- plusieurs fonctions sont voisines, mais l'ordre de leurs arguments est subtilement différent
- une fonction a une fonctionnalité qui change complètement selon le nombre d'arguments qu'on lui passe.
- le nommage est aléatoire. parfois il y a un préfixe devant les noms de fonctions d'une même API, parfois pas.
- Il n'y a de toutes façons pas de convention de nommage. fonction(), api_fonction(), ApiFonction() et diverses autres conventions se mélangent allègrement.
- des fonctions non documentées
- des fonctions dons la doc (uniquement dispo en ligne, trop de la balle pour développer quand t'as pas une connexion internet) qui disent que ça marche pas
- etc, etc.
Ce langage n'est qu'un ramassis de verrues qui ont poussé sur un truc qui était à l'origine pas fait pour (Personnal Home Page que ça voulait dire PHP, c'était pas pour rien), et ça se voit. Sa seule chance a dû être de disposer d'un module Apache et d'être assez facile à utiliser pour que les hébergeurs s'y intéressent et le proposent à leur clients.