1045Fermer1047
MeowcateLe 24/10/2016 à 15:41
Pour ceux qui m'ont partagé du code PHP de leurs expériences, j'ai déjà quelque chose qui m'a frappé dont j'avais relativement peu conscience avant en défendant PHP.
PHP n'est pas un "mauvais" langage (du moins aujourd'hui). Son plus gros problème à mon sens est qu'au contraire il est facile, et d'autant plus facile qu'il est particulièrement permissif. En cela, qu'on soit un apprenti-dev ou un dev confirmé (mais issu d'un autre langage), PHP encourage l'absence de "bonnes pratiques" simplement parce que le langage le peut. Les langages typés, ou à la structure mieux pensée au début, permettent moins de bordel.
On va me dire que d'autres langages comme le Python ou Ruby, qui peuvent être permissifs aussi, ont moins de code bordélique. Ce à quoi je répondrais en y réfléchissant : oui, mais il y a une différence. PHP a profité de l'explosion de sites persos pour voir arriver une foule d'apprentis dev pour qui html+php+mysql était le trio de base pour créer un site. Ces autres langages ont eu de leur côté plus l'attention de développeurs plus calés dans leur domaine. Mais heureusement PHP a aussi eu des développeurs efficaces qui se sont intéressés à lui, sinon le langage n'aurait pas connu d'améliorations notables.

Cela me rappelle mes débuts de codeur BASIC sur ma CASIO où j'avais créé un petit RPG en mode texte. Entre ma faible expérience de développement et les limites de la CASIO, mon programme était un vrai spaghettis de GOTO qui plantait toujours après un certain temps de jeu parce qu'à force d'explorer la pile de GOTO imbriqués dépassait les limites mémoire de la machine. "Ça marchait", et au pire "suffisamment longtemps avant de relancer", pour que je ne cherche pas à creuser plus loin, étant déjà passé à autre chose alors que ce jeu buggé circulait sur les CASIO de mes camarades de classe.

Et quand je vois comme ceux qui m'ont passé leur code peuvent être calés quand ils parlent d'autres langages, généralement bien moins permissifs, je pense fortement que la raison est là. Après tout si demain je voulais développer une petite IA, et que l'on me propose une structure de base qui nécessite LISP pour le dev, je me contenterai sans doute d'apprendre le minimum syndical en LISP sans chercher à comprendre toute la puissance du langage ou les bonnes pratiques à suivre.