JeuWeb - Crée ton jeu par navigateur
Article — PHP: a fractal of bad design - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Article — PHP: a fractal of bad design (/showthread.php?tid=6084)

Pages : 1 2 3 4 5 6


RE: Article — PHP: a fractal of bad design - php_addict - 11-04-2012

cela me fait toujours rire les article "php c'est de la merde et rien que de la merde..." son blog est en ruby non ? pourquoi quand il cite la source http://wiki.theory.org/YourLanguageSucks il ne parle que de php et pas de http://wiki.theory.org/YourLanguageSucks#Ruby_sucks_because: . c'est typique aux développeurs de ruby de décrier ruby?

cet article aurait été intéressant si il notait également les avantages de php, mais là c'est une chasse aux sorcières et c'est un éternel débat...

oui php est bourré de défauts dont le typage est le plus énorme, mais sans php il n'y aurait pas de MyBB, phpBB, de novices en programmation web, etc...

qui ici n'a pas commencer par php pour se faire la main? je serais curieux de savoir?


RE: Article — PHP: a fractal of bad design - niahoo - 12-04-2012

Moi je peste tous les jours contre ses défauts mais en attendant de trouver un autre job je fais avec.


RE: Article — PHP: a fractal of bad design - Sephi-Chan - 12-04-2012

(11-04-2012, 10:33 PM)Angelblade a écrit : Moi j'aime bien PHP malgré tout Smile

Tu connais quoi d'autre ? Smile


(12-04-2012, 12:02 AM)niahoo a écrit : Moi je peste tous les jours contre ses défauts mais en attendant de trouver un autre job je fais avec.

Quelles sont tes autres technologies de prédilection ? N'arrives-tu pas à trouver des jobs avec ?
Se positionner sur une technologie de niche permet souvent d'être mieux rémunéré (à niveau équivalent) et de travailler sur des choses plus intéressantes. En contrepartie, il peut être plus délicat de trouver un emploi (selon la région où l'on vit).


(11-04-2012, 11:56 PM)php_addict a écrit : cela me fait toujours rire les article "php c'est de la merde et rien que de la merde..." son blog est en ruby non ? pourquoi quand il cite la source http://wiki.theory.org/YourLanguageSucks il ne parle que de php et pas de http://wiki.theory.org/YourLanguageSucks#Ruby_sucks_because: . c'est typique aux développeurs de ruby de décrier ruby?

cet article aurait été intéressant si il notait également les avantages de php, mais là c'est une chasse aux sorcières et c'est un éternel débat...

oui php est bourré de défauts dont le typage est le plus énorme, mais sans php il n'y aurait pas de MyBB, phpBB, de novices en programmation web, etc...

qui ici n'a pas commencer par php pour se faire la main? je serais curieux de savoir?

Désolé pour ta crédibilité, mais l'auteur est un développeur Python, pas Ruby. La prochaine fois, pense à lire l'article avant de pleurer et de t'emballer.

Tu évoques une liste des défauts de chaque langage, mais la liste est beaucoup moins objective que celle de l'article : la plupart sont des opinions, pas des faits. L'article ne s'en tient qu'à des faits. Et contrairement à ce que tu dis, il cite quelques avantages de PHP (courbe d'apprentissage, facilité d'hébergement) : seulement, PHP n'a aucun avantage pour un usage professionnel puisque ses qualités n'en sont que pour les débutants.

On sait tous (j'espère) qu'aucun langage n'est parfait. Seulement, il y en a de beaucoup plus parfaits que d'autres.

Il n'y a rien de sale à avoir appris à programmer avec PHP, c'est juste que ça devrait en rester là : s'initier. Ensuite il faudrait passer à quelque chose de plus sérieux.

Sur ce forum, je vois beaucoup de personnes qui ont appris depuis 5 à 10 ans et qui codent toujours comme ils ont appris, façon cours du Site du Zéro… Je trouve ça malheureux que des passionnés de développement évoluent si peu sur le plan technique.

En somme, tu es passé à côté de l'article (puisque tu ne l'as pas lu) et tu n'as vu que ce que tu voulais voir : une énième attaque de PHP (à ta défense, le titre s'y prête). Alors que c'est une liste presque exhaustive choses dangereuses de PHP (les gotchas).


RE: Article — PHP: a fractal of bad design - Roworll - 12-04-2012

(11-04-2012, 11:56 PM)php_addict a écrit : qui ici n'a pas commencer par php pour se faire la main? je serais curieux de savoir?

Moi.
J'ai commencé en ColdFusion puis ASP (dans le cadre de la boite) avant d'aborder le PHP pour des projets persos dans les années 2000 parce qu'à l'époque, les alternatives gratuites, pas trop complexes et tournant sur Windows étaient limitées.

A lire l'article et la présentation de la boite à outil on pourrait croire que c'est un véritable miracle qu'il y ait autant de sites web tournant sur PHP sans se casser la gueule.
On montre les faiblesses du langage en oubliant certains éléments essentiels liés à son historique, au développement communautaire et à l'engouement des développeurs de l'époque. C'est comme dire aujourd'hui que "Mac c'est de la merde" suite à l'infection de centaine de milliers de machine, en passant sous silence toutes les années ou il n'y a pas eu de problème.

Bref, l'intérêt de cet article est éducatif car il liste pratiquement in extenso toutes les faiblesses et failles du PHP. Le titre est cependant mal choisi car il transforme le tout en un pamphlet contre ce langage.

Reste que toutes cette histoire sur les qualités/défauts de PHP ou de tout autre langage, c'est sans fin et d'une utilité toute relative. L'essentiel à mes yeux est de choisir le langage approprié pour ce que l'on souhaite réaliser à court et long terme.
Pour un amateur éclairé, je ne vois pas l'intérêt de sortir la grosse artillerie et de passer par l'apprentissage d'un framework et/ou d'un nouveau langage si le but est de réaliser un site basique pour une association.
De la même manière, dans le cadre d'un projet pro à long terme, partir sur du PHP procédural maison me parait carrément suicidaire. Une solution robuste encadrée par un framework PhP de qualité, RoR , .NET ou autre serait bien plus adaptée et pérenne.

Il faut un outil à hauteur des besoins du projet. Si j'ai besoin de faire un petit trou dans mon jardin, je prends une pelle et une pioche, je ne vais pas louer une pelleteuse, ni les services d'une société de terrassement.

Juste une réflexion pour finir, en comparant Ruby et PHP pourquoi Ruby ne semble prendre son envol que récemment alors qu'il est né à un an d'intervalle à peine de PHP (en 1995). Que seraient devenus ces deux langages si les rôles avaient été inversés ?

Edit rapide suite au message précédent de Sephi-Chan
(12-04-2012, 08:05 AM)Sephi-Chan a écrit : Je trouve ça malheureux que des passionnés de développement évoluent si peu sur le plan technique.
Je pense que ta vision est biaisée par le fait que tu suives une formation informatique. Les passionnés n'en font pas leur métier et n'ont pas les même impératifs d'évolution et d'adaptation que toi. Du coup, ils n'ont pas ni ne ressentent le besoin d'évoluer techniquement pour la plupart.
Tu ne peux pas demander de la part des passionnés une implication proche de tes attentes professionnelles de la même manière que je ne peux pas demander auprès des développeurs une implication proche de mes attentes concernant les bases de données. Passion, carrière et spécialisation demandent des niveaux différents d'implication.



RE: Article — PHP: a fractal of bad design - niahoo - 12-04-2012

Non j'ai du mal à trouver un taf avec ce que je sais faire en cartographie (je t'en ai donné un aperçu mais tu n'as toujours pas répondu à mon gros pavé). J'apprends au fur et a mesure un framework web, un CMS et un serveur en erlang pour proposer du web mais ça ce sera si je suis à mon compte. En attendant, des offres de dev PHP j'en vois souvent. Mais les salaires proposés sont pas terribles.


RE: Article — PHP: a fractal of bad design - Sephi-Chan - 12-04-2012

(12-04-2012, 08:16 AM)Roworll a écrit : Reste que toutes cette histoire sur les qualités/défauts de PHP ou de tout autre langage, c'est sans fin et d'une utilité toute relative. L'essentiel à mes yeux est de choisir le langage approprié pour ce que l'on souhaite réaliser à court et long terme.

Pour un amateur éclairé, je ne vois pas l'intérêt de sortir la grosse artillerie et de passer par l'apprentissage d'un framework et/ou d'un nouveau langage si le but est de réaliser un site basique pour une association.

De la même manière, dans le cadre d'un projet pro à long terme, partir sur du PHP procédural maison me parait carrément suicidaire. Une solution robuste encadrée par un framework PhP de qualité, RoR , .NET ou autre serait bien plus adaptée et pérenne.

Il faut un outil à hauteur des besoins du projet. Si j'ai besoin de faire un petit trou dans mon jardin, je prends une pelle et une pioche, je ne vais pas louer une pelleteuse, ni les services d'une société de terrassement.

La plupart des membres de JeuWeb souhaitent créer un jeu par navigateur. C'est typiquement le genre d'application qui requiert l'utilisation d'un framework.



(12-04-2012, 08:16 AM)Roworll a écrit : Juste une réflexion pour finir, en comparant Ruby et PHP pourquoi Ruby ne semble prendre son envol que récemment alors qu'il est né à un an d'intervalle à peine de PHP (en 1995). Que seraient devenus ces deux langages si les rôles avaient été inversés ?

Je pense que c'est parce que PHP est taillé pour les débutants : depuis le début, c'est de l'amateurisme de A à Z : courbe d'apprentissage rapide, déploiement par drag'n'drop sur un FTP, fortement couplé à Apache, etc. Un débutant n'est pas regardant sur la robustesse de son programme : il ne se rend pas compte de l'importance des défauts du langage.

C'est d'ailleurs en ça que je dis que PHP n'a aucun avantage en environnement professionnel où on ne déploie plus via FTP, où on se fiche de la courbe d'apprentissage du langage, etc. Du coup il ne reste plus que les défauts.



(12-04-2012, 08:16 AM)Roworll a écrit : Edit rapide suite au message précédent de Sephi-Chan
(12-04-2012, 08:05 AM)Sephi-Chan a écrit : Je trouve ça malheureux que des passionnés de développement évoluent si peu sur le plan technique.
Je pense que ta vision est biaisée par le fait que tu suives une formation informatique. Les passionnés n'en font pas leur métier et n'ont pas les même impératifs d'évolution et d'adaptation que toi. Du coup, ils n'ont pas ni ne ressentent le besoin d'évoluer techniquement pour la plupart.
Tu ne peux pas demander de la part des passionnés une implication proche de tes attentes professionnelles de la même manière que je ne peux pas demander auprès des développeurs une implication proche de mes attentes concernant les bases de données. Passion, carrière et spécialisation demandent des niveaux différents d'implication.

Honnêtement, ma formation m'a appris beaucoup de choses sur des sujets très variés, mais pas en développement. Je survolais toutes les matières de développement : mes compétences de développeur, je ne les dois qu'à ma passion et donc ma curiosité.

D'ailleurs, je remarque que les meilleurs développeurs sont souvent autodidactes et passionnés. Je connais pas mal de gens qui ont fait des écoles comme la mienne, ou des BTS, IUT, etc. mais qui sont de grosses burnes en développement.

Sur JeuWeb, on a des développeurs passionnés : ils font ça sur leur temps libre et ont les conditions optimales pour devenir bons : ils ne sont pas pressés par le temps et les deadlines, ils travaillent sur ce qui leur plaît, ils construisent leur propre produit, etc.

Je dégage deux profils majeurs sur JeuWeb : ceux qui créent des choses bancales (souvent avec du PHP from scratch) et ceux qui ont beaucoup de connaissances mais qui ne créent rien (mais aident les autres).


(12-04-2012, 09:11 AM)niahoo a écrit : Non j'ai du mal à trouver un taf avec ce que je sais faire en cartographie (je t'en ai donné un aperçu mais tu n'as toujours pas répondu à mon gros pavé). J'apprends au fur et a mesure un framework web, un CMS et un serveur en erlang pour proposer du web mais ça ce sera si je suis à mon compte. En attendant, des offres de dev PHP j'en vois souvent. Mais les salaires proposés sont pas terribles.

Effectivement, j'attendais de pouvoir m'y pencher sérieusement avant d'y répondre, mais c'est compromis… Je suis en stage, j'ai un peu moins de temps et je préfère l'investir sur autre chose. :/


RE: Article — PHP: a fractal of bad design - qwarnant - 12-04-2012

Bonjour,

L'auteur de l'article était-il énervé sur une erreur qu'il n'arrivait pas à trouver en PHP avant d'écrire l'article?

Sérieusement, je pense qu'on a le droit de critiquer n'importe quel langage, mais en nuançant un peu son avis. Quand je lis l'article ici (je n'ai pas tout lu, seulement les points qui m'intéressaient), je trouve que l'auteur de l'article n'a justement pas cet avis nuancé. Quand on rédige un tel article de synthèse, il faut aussi tenir compte du contexte et de la mise en pratique.

Le contexte ? PHP est un langage qui n'était pas du tout destiné à devenir aussi populaire. Le développement de PHP est fait par deux catégories de développeurs : ceux qui veulent le faire évoluer vers un langage plus structuré et rigoureux, ceux qui veulent le garder comme langage boite à outils. Forcément, l'évolution de PHP est entravée par ces deux tendances au sein même du développement.

La mise en pratique ? Oui, tout le monde est passé par le SDZ pour apprendre le PHP avec le tutoriel de Mateo (qui a été rafraîchit il n'y a pas longtemps ceci dit). Ensuite, le débutant a le choix d'apprendre un nouveau type de PHP si j'ose dire, le PHP qu'on trouve dans les frameworks du type de Zend ou de Symfony. Toute de suite, ce n'est plus le même PHP. Une mise en place du PHP développées par des professionnels et qui tient la route. Si on pouvait faire évoluer le PHP en prenant en compte tout ce qu'on fait dans ce type de framework, standardiser tous les développements dans ces frameworks, on aboutirait a un peu plus de rigueur dans le PHP.

Pour ne pas faire la même chose que l'auteur de l'article de le sens inverse, je vais quand même critiquer le PHP un petit peu. Oui, personnellement, je trouve qu'il manque pas mal de points au PHP comme le typage ou une gestion de l'OO beaucoup plus poussée : ça m'énerve souvent, ça me donne envie de changer de langage mais je ne le fais pas. Pourquoi ?
Par exemple, PHP est l'un des seuls langages portables sur la quasi totalité de tous les hébergeurs web du monde. Toutes les offres d'emploi que je vois passer en Belgique sont soit des développeurs .NET, soit des développeurs PHP avec demande de maîtrise de Symfo, Zend, Drupal, ... tous des outils qui ont été développés avec le "bon" PHP si j'ose dire.

Voilà pour mon avis.


RE: Article — PHP: a fractal of bad design - niahoo - 12-04-2012

( @Sephi pas de pb pour la carto Smile suffit de le dire ! )

@Microdev + mon avis

Ben si tu enlèves de l'article les remarques acerbes, tu te retrouves quand même avec une liste exhaustive de pas mal de faits bien réels, qui n'ont pas besoin d'être nuancés vu que ce sont des faits.

Je ne vois pas pourquoi on ne pourrait pas au moins nettoyer l'API sans qu'il puisse rester une boîte à outils confortable et complète. les types (dont Lerdorf je crois) qui veulent que ça reste tel quel doivent avoir une raison vraiment impossible à expliquer car je n'ai toujours pas compris l'intérêt.

L'OO à été introduite plus ou moins parce que c'est la mode mais là c'est pareil, il le signale dans l'article. On se la pète avec des getters et des setters totalement inutiles la pluspart du temps.

PHP from scratch == framework moisi
On parle sans cesse de framework ou pas framework sur ce forum, mais c'est bien à cause de la façon dont est fait PHP. Si tu veux faire du web avec Ruby, Python, Erlang, Lua, Java, Scala, JS( côté serveur) etc. tu dois passer par un framework, tu n'as pas le choix (encore qu'avec erlang ça va assez vite de coder le serveur + le MVC from scratch :p mais quel intérêt ?). En PHP, on croit qu'on peut se dispenser de framework. Mais qu'est-ce que l'utilisation généralisée du mod_rewrite + des superglobales _GET _POST _REQUEST _SERVER préremplies, des fonctions de session + _SESSION + des fonctions serveur (header() ... ). C'est simplement un framework Smile un vrai de vrai, pas simplement une librairie.
Sauf qu'il est pas terrible, il est difficile d'avoir une vision d'ensemble et il amène à du code mal structuré.

Les autres langages ne requièrent pas qu'on apprenne un « nouveau type de {language_name} » parce que les frameworks web qui vont avec sont (généralement) bien foutus.

Mais je suis d'accord avec toi, il faudrait faire évoluer PHP (d'urgence) dans le bon sens, mais il va falloir accélérer le développement du framework « officiel » (est-ce que c'est Zend ou bien PEAR ?).

Pour la portabilité de PHP tu as raison, c'est bien pratique quand on est un newbie et qu'on se prend un petit mutu. Mais ça s'arrête là. J'espère voir de plus en plus de trucs comme RailsInstaller pour windows et Heroku, mais pas que pour ruby, afin que Wamp (ou pire, easyPHP), PHP + mutu/apache/moisi ne soit plus le choix bon marché par défaut.

Pour les offres d'emploi, c'est dommage que l'industrie ait favorisé PHP mais faut croire qu'il y avait rien de mieux. Enfin, c'est la même industrie qui a promu l'OO tout-partout, elle est plus à une erreur près :p.


RE: Article — PHP: a fractal of bad design - Ter Rowan - 12-04-2012

(12-04-2012, 10:08 AM)Sephi-Chan a écrit : Je dégage deux profils majeurs sur JeuWeb : ceux qui créent des choses bancales (souvent avec du PHP from scratch) et ceux qui ont beaucoup de connaissances mais qui ne créent rien

c'est dommage de ne pas parvenir à une segmentation différente :

ceux dont la priorité/envie est de s'investir dans la création ludique au moyen d'outils informatiques

ceux dont la priorité/envie est de s'investir dans l'amélioration de compétences informatiques, au moyen de l'aspect ludique

on pourrait avoir les deux dans la même communauté, mais avec moins de débat "langage de merde" pour l'aspect créativité et plus de débat technique (sur black prism par exemple ?)


sinon sur l'article en tant que tel

j'y ai appris des choses, mais ça ne me fera pas jeter php :

une partie de la critique, certes fondée, n'est pas un frein pour moi (syntaxe / langage : les verbes, les symboles, etc)

une partie de la critique, probablement fondée, ne m'impacte pas du tout (introspection des classes, etc...) car je n'éprouve pas le besoin d'utiliser ces méthodes

une partie de la critique m'impacte mais soit je fais avec soit je m'en sers (typage, ...)

ce qui est dommage c'est le ton, toujours le même quand on critique php. J'arrive pas à le comprendre, en quoi c'est si grave qu'il y ait des gens qui développent en php ? Pourquoi faut il mépriser à ce point ? ça empêche les autres de faire du ruby, du python, du java ? j'ai pas l'impression moi ? alors pourquoi tant de mépris ?

ça me fait penser à la campagne électorale.. Au lieu de comparer les programmes et les valeurs, on s'invective et on s'insulte.

C'est là un vrai manque de maturité et de mesure, et avec un tel manque de maturité et de mesure dans cet article - ou dans d'autres-, l'argumentation ne risque pas de me convaincre de quoi que ce soit.

Moi ce qui m'attire c'est l'aspect ludique, pas le langage, si je pouvais créer uniquement par la parole, alors j'aurais déjà trois ou quatre jeux en production. Là parce que la technique ne me motive pas plus que cela, j'en suis toujours à 0 en prod, même si ça avance un peu... Alors qu'est ce que j'en ai à taper que php ait des failles plus grosses que les autres ? ben rien, "osef", "k thx bye"

voilà ma contrib ! ^^



RE: Article — PHP: a fractal of bad design - niahoo - 12-04-2012

Moi j'en ai a taper que l'offre en CMS, l'offre en développeurs et l'offre en hébergement m'oblige à bosser avec et à confier des données persos gérées par des systèmes faits sur cet environnement et ça craint.

Mais ça pourrait devenir pareil avec d'autres langages, l'idée est simplement de se tirer vers le haut et pas vers le bas.