Je traduis l'introduction :
> * un langage doit être prédictible. […]
> * un langage doit être cohérent. […]
> * un langage doit être concis. […]
> * un langage doit être fiable. […]
> * un langage doit être débuggable. […]
> Ma position est celle-ci :
> PHP est plein de surprises : mysql_real_escape_string, E_ALL
> PHP est incohérent : strpos, str_rot13
> PHP demande de l'emballage (boilerplate), comme la gestion d'erreurs autour des appels C
> PHP n'est pas fiable (== qui n'a pas le sens habituel et qui ne sert à rien, foreach ($foo as &$bar))
> PHP est opaque (pas de stracktrace par défaut, rapports d'erreurs complexes)
>
> Ne me dites pas que « de bons développeurs peuvent écrire du bon code dans n'importe quel langage », ou de mauvais développeurs blah, blah, blah. Ça ne veut rien dire. Un bon charpentier peut enfoncer un clou avec une pierre ou un marteau, mais combien en avez-vous vus taper quelque chose avec des pierres ? […]
> Ne me dites pas que c'est la responsabilité du développeur de se souvenir des centaines d'exceptions étranges et de comportements surprenant. Oui, c'est nécessaire dans tous les systèmes. […] PHP n'est rien qu'un paquet d'exceptions […]
> Ne me dites pas que « c'est comme ça que l'API C fonctionne ». Quel intérêt d'utiliser un langage haut-niveau s'il ne fournit que quelques aides et wrappers C ? Autant écrire du C !
[^] # Re: Souhaitons une belle mort à PHP
Posté par flan (site web personnel) . En réponse à la dépêche Sortie de txt2tags en version PHP. Évalué à 2.
Je pense que le lien plus haut ( http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/ ) donne un certain nombre de bonnes raisons :)
Je traduis l'introduction :
> * un langage doit être prédictible. […]
> * un langage doit être cohérent. […]
> * un langage doit être concis. […]
> * un langage doit être fiable. […]
> * un langage doit être débuggable. […]
> Ma position est celle-ci :
> PHP est plein de surprises : mysql_real_escape_string, E_ALL
> PHP est incohérent : strpos, str_rot13
> PHP demande de l'emballage (boilerplate), comme la gestion d'erreurs autour des appels C
> PHP n'est pas fiable (== qui n'a pas le sens habituel et qui ne sert à rien, foreach ($foo as &$bar))
> PHP est opaque (pas de stracktrace par défaut, rapports d'erreurs complexes)
>
> Ne me dites pas que « de bons développeurs peuvent écrire du bon code dans n'importe quel langage », ou de mauvais développeurs blah, blah, blah. Ça ne veut rien dire. Un bon charpentier peut enfoncer un clou avec une pierre ou un marteau, mais combien en avez-vous vus taper quelque chose avec des pierres ? […]
> Ne me dites pas que c'est la responsabilité du développeur de se souvenir des centaines d'exceptions étranges et de comportements surprenant. Oui, c'est nécessaire dans tous les systèmes. […] PHP n'est rien qu'un paquet d'exceptions […]
> Ne me dites pas que « c'est comme ça que l'API C fonctionne ». Quel intérêt d'utiliser un langage haut-niveau s'il ne fournit que quelques aides et wrappers C ? Autant écrire du C !
Le reste du texte est bien intéressant :)