Partage
  • Partager sur Facebook
  • Partager sur Twitter

Pourquoi on déteste PHP ?

Sujet résolu
11 octobre 2018 à 20:49:42

Salut à tous. (EDIT : Long pavé en approche o_O)

Je sens que ce sujet à été bashé encore, encore et eeeeencore, mais j'ai voulu en remettre une couche et avoir des avis un peu "sur le moment" par rapport à cette question.

"Pourquoi on déteste PHP ?"

Pour sortir un petit contexte, j'ai décroché un BTS SIO il y a un an et demi (spécialisation SLAM pour les connaisseurs), j'ai donc pendant environ un an codé sur du PHP (et un peu de C++ mais genre 3h C++ pour 8h de php). Après le diplome je décroche un taff qui n'a rien à voir avec le dev, mais je continue de coder par plaisir, et de là en gardant mes bases, je découvre le framework Laravel, et je l'ai énormément utilisé, j'adore ce framework.

Mon contrat se terminant et commençant à avoir envie de projets sérieux dans le dev, je code plus, je découvre mais je garde ma base "j'ai appris en php". Et malgré mon envie d'apprendre tout c'qui bouge, j'aime bien avoir des bases "solide" sur quelque chose avant tout.

                                                                   -------------------------------------------------------------------------------------------------------------------

Sauf que récemment, j'suis tombé sur quelqu'un, dev lui aussi, qui m'a fait comprendre de manière claire, que "PHP c'est de la merde, ça va mourir, fais du nodeJS ou du Angular". Et encore sur internet très récemment (les joies du code bonjour), j'suis tombé sur un post un peu troll disant grosso modo "La meilleure pratique en PHP, c'est de prendre autre chose" suivie d'une maaaaaasse de commentaires nettement moins troll bashant bien comme y faut le PHP, et là j'ai commencé à m'poser des questions.

Parce que bon, j'ai même pas deux ans d'expérience à créer des sites web, mais j'ai le sentiment de pas faire le bon choix à bosser sur mon petit Laravel et PHP, alors que j'adore ça, j'ai codé des trucs qui me semblent décent (à mon échelle de petit dev sortant d'un contrat de monteur de pneus), et du coup je me demande si je devrais pas me concentrer sur autre chose ou si tout le negatif que je vois n'est pas vraiment justifié et que j'peux continuer le coeur léger.

Du coup, tout ça pour ces questions :

- Pourquoi on déteste PHP ?

- Qu'est-ce qu'un NodeJS par exemple a de plus que le PHP ? (Je sais que ça se base sur du JS côté serveur mais ça s'arrête là)

- Est-ce que je fais bien de me concentrer encore beaucoup sur ce langage malgré tout ? (Comprenant l'utilisation de Framework comme Laravel), ou est-ce que des langages comme Python ou Ruby (des noms que je vois souvent revenir) seraient plus intéressants ? J'ai quelques bases en JS aussi, mais ça reste assez minime par rapport au reste.

- Si je me met à vouloir chercher du travail dans le dev, est-ce qu'il serait judicieux de bosser un autre langage ?

ça fait un long pavé, je m'en excuse, c'est un peu toute mes intérogations à la sortie de l'école et au tout début d'un peut-être "vrai" travail dans le dev, et j'espère avoir quelques réponses.

Merci d'avoir tout lu !

-
Edité par Genezys 11 octobre 2018 à 20:53:18

  • Partager sur Facebook
  • Partager sur Twitter
11 octobre 2018 à 22:15:44

Bonjour,

Je vais répondre très rapidement parce que j'en ai marre de redire les mêmes choses tout le temps.

PHP est loin de mourir et évolue encore: PHP est le seul langage à l'heure actuelle qui permet aux débutants d'avoir un résultat rapide. Ensuite les coûts d'hébergement sont très faibles par rapport à d'autres langages (pour faire vite).

Ensuite, il faut arrêter de comparer Node.js à PHP puisqu'il n'agisse pas du tout au même niveau et ne sont pas utilisés pour les mêmes raisons. Node.js fait de l'asynchrone événementielle, PHP non.

Pour rester sur le web, cela me rire quand on me dit que l'on conseille Ruby (Ruby On Rails) alors que ce framework n'a jamais réussi à décoller.

Une vidéo de Grafikart qui répond à ta question:

https://www.youtube.com/watch?v=US9JCsnAVTU

-
Edité par eclairia 11 octobre 2018 à 22:15:59

  • Partager sur Facebook
  • Partager sur Twitter
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" Mark Twain
11 octobre 2018 à 22:30:40

PHP se traîne des défauts de conception, mais il est toujours très utilisé, et dire que PHP va mourir est clairement faux, il y a une telle base de code écrite dans ce langage qu'il est pas prêt de disparaître.

Par contre oui, il existe des langages mieux conçus et généralistes, par exemple Python connaît un gros succès récemment.

Javascript a du succès aussi avec nodejs, mais il a des défauts aussi.

J'ai pas touché au PHP depuis longtemps, mais si tu t'y intéresse : https://whydoesitsuck.com/why-does-php-suck/ C'est bien de lire ce genre de truc même si tu aimes PHP parce que connaître les pièges permet d'éviter de tomber dedans.

On a la même pour Javascript : https://whydoesitsuck.com/why-does-javascript-suck/

Après faut pas se voiler la face, même des langages réputés bien foutus comme Python ont des défauts. Par exemple les booléens sont basés sur les entiers, et on peut additionner un entier avec un booléen sans que ça plante par exemple, alors qu'on s'attendrait plutôt à ce que l'interpréteur nous hurle dessus :

>>> True + 5
6
>>> False + 10
10

Si tu es curieux des différents langages, tu peux toucher à des trucs funs comme un Lisp par exemple, ça change et ça fait du bien de voir comment d'autres langages sont faits, surtout quand ils sont aussi particuliers que les Lisp. Il y en a plusieurs : Racket est pas mal pour débuter car la doc est bien accessible et il y a un IDE facile à utiliser fourni, Common Lisp est un classique mais il me semble poil plus difficile à aborder.

  • Partager sur Facebook
  • Partager sur Twitter

Blond, bouclé, toujours le sourire aux lèvres...

11 octobre 2018 à 22:48:22

Bonsoir,

Oups le débat...

Promis cette fois-ci je n'y participe pas, j'en ai trop dite et oui PHP est loin de mourir, au contraire il évolue petit à petit....;)

Je me sauve avant que la horde (moutons bien connus ) des haineux arrive avec leur éternels arguments ridicules.

Bye et amusez vous bien.

  • Partager sur Facebook
  • Partager sur Twitter
Stéphanie, blonde mais je me débrouille (....?) ** Mon sondage: mode Dark VS mode Clean
11 octobre 2018 à 23:22:08

ça fait déjà pas mal de sources à regarder, merci beaucoup :D

J'ai pas vraiment eu envie de déclencher une battue dans ce message, juste des interrogations :lol: J'ai déjà pas mal à lire :D

Merci !

  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
13 octobre 2018 à 20:45:07

Le vrai problème avec PHP, c'est qu'il soit conseillé aux débutants.

Je ne connais aucun cours correct pour débuter avec PHP. Aucun n'apprend la programmation correctement, et aucun n'apprend les bonnes pratiques et encore moins la sécurité, ce qui est un comble étant donné le domaine d'application.

C'est un peu normal aussi, du fait de ses défauts, et surtout de son inconsistance, il est difficile d'enseigner correctement avec ce langage. Mais pourtant, le Javascript qui partage beaucoup de ces défauts, est bien mieux enseigné, et je préfère diriger les débutants vers ce dernier afin d'avoir les bases correctes suffisantes pour appréhender le PHP sans tomber dans les pièges et erreurs que diffuse les tuto et autres cours en ligne ou non.

En fait, c'est comme conseiller le Java ou le C# avant le C++ ; pour programmer correctement avec C++ il faut avoir des bases solides qui sont plus facile à obtenir à l'aide de langages plus simples.
À ceci près que, dans tous les cas, PHP est totalement dispensable... :-°

  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
14 octobre 2018 à 17:43:56

Juste deux remarques comme ça, pas vraiment liées mais un peu.

  • Apprendre C++, c'est des choses que Java et C# n'enseignent pas. Exemple : RAII et les templates.
  • L'hébergement aujourd'hui, on trouve de tout et partout, à bas prix. L'époque où seul PHP existait est finie, on pejt héberger facilement et pas cher en Python, en Ruby, en .NET, en NodeJS, bref.

Un des problèmes de PHP c'est qu'il est très facile de faire n'importe quoi. Mélanger le HTML et le PHP dans un même code par exemple. Il y aussi la bibliothèque standard pas forcément cohérente.

C'est tout ce dont je me souviens, PHP ça remonte à loin pour moi.

PS : si, on peut comparer PHP et NodeJS. Les deux technos sont là pour faire du back, partant.de ce constat, pourquoi ne seraient-elles pas comparables ?

-
Edité par Anonyme 14 octobre 2018 à 17:45:50

  • Partager sur Facebook
  • Partager sur Twitter
14 octobre 2018 à 18:52:54

On peut aussi faire n'importe quoi avec du JS ou du Python..

Côté back, le peux que je connaisse pour Node est de de le combiner avec du PHP, ce dernier est bien plus rapide pour les traitements habituels comme vérifier les données utilisateurs, requêtes, etc... Ils utilisent donc Node dans un autre but pour son concept non-bloquant.

Ouarf...

  • Partager sur Facebook
  • Partager sur Twitter
Stéphanie, blonde mais je me débrouille (....?) ** Mon sondage: mode Dark VS mode Clean
21 octobre 2018 à 18:53:45

pipelette13 a écrit:

On peut aussi faire n'importe quoi avec du JS ou du Python..

Bien sûr qu'on peut, la question c'est avec quelle difficulté. Pour prendre des extrêmes : s'il est possible de faire n'importe quoi en Haskell, c'est quand même bien plus dur que faire n'importe quoi en C.

Mais sinon pour PHP, rengaine habituelle :

  • non homogénéité des features du langage,
  • passif historique très lourd (et moins maitrisé que dans pas mal de vieux langages),
  • principe de moindre surprise non respecté (JS a le même problème d'ailleurs),
  • qualité des cours globalement très mauvaise sur le plan des bonnes pratiques,
  • facilité avec laquelle le serveur généralement distribué se fait régulièrement éclater.

-
Edité par Ksass`Peuk 21 octobre 2018 à 18:53:59

  • Partager sur Facebook
  • Partager sur Twitter

Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C

21 octobre 2018 à 19:02:35

Oui mais accessible à tous ceux et celles dont le développement n'est pas leur métier, certaines travaillent à côté et ont peu de temps à programmer.

Donc PHP répond déjà à ce publique et est le seul à permettre de concrétiser leurs réalisations côté serveur + bdd.

Sans compter l'avantage du prix et la facilité d'hébergement, d'ailleurs les entreprises en profitent aussi que je sache ^^ 

Donc il fait parfaitement ce dont il a été conçu, mais ne pas omettre que d'autre programment en PHP de manière professionnelle et sécurisée comme le font d'autres avec divers langages (....)

Je pense que quand on parle de PHP vous avez tous une vision professionnelle, hors ce n'est pas la bonne approche, supprimez le et vous enlèverez un langage à la porté des amateurs qui codent aussi par plaisirs.

Donc sortez de votre bulle et pensez aux autre SVP :)

ps: pour les cours, il me semble qu'il n'y a pas que OCR dans la vie, , j'entends aussi que le cours sur python ou c++ n'est pas top, et enfin je n'oublie pas que M.Nebra encourageait  à apprendre le PHP à la suite de son cours html/css........

-
Edité par pipelette13 21 octobre 2018 à 19:06:33

  • Partager sur Facebook
  • Partager sur Twitter
Stéphanie, blonde mais je me débrouille (....?) ** Mon sondage: mode Dark VS mode Clean
21 octobre 2018 à 19:24:13

pipelette13 a écrit:

Oui mais accessible à tous ceux et celles dont le développement n'est pas leur métier, certaines travaillent à côté et ont peu de temps à programmer.

Sauf que typiquement, je ne vois pas en quoi des langages plus sûrs comme Python ne répondent pas également à ce besoin. Il n'est pas plus difficile à apprendre. C'est même le langage que l'on recommande le plus communément pour débuter quel que soit le sous-domaine que l'on cible à la base.

pipelette13 a écrit:

Je pense que quand on parle de PHP vous avez tous une vision professionnelle, hors ce n'est pas la bonne approche, supprimez le et vous enlèverez un langage à la porté des amateurs qui codent aussi par plaisirs.

Je ne pense pas que qui que ce soit aime voir son serveur rejoindre un botnet ou se faire vider de ses données. Même un amateur. Peut être même surtout un amateur qui aura bien plus de difficulté à le détecter. La sécurité c'est une option pour personne.

-
Edité par Ksass`Peuk 21 octobre 2018 à 19:35:28

  • Partager sur Facebook
  • Partager sur Twitter

Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C

Anonyme
21 octobre 2018 à 19:49:06

C'est à cause de ces défauts que PHP n'est pas idéal à un enseignement correct, aussi bien pour un débutant qu'un amateur. Et c'est parce qu'il est mal enseigné que beaucoup d'entre eux ne jure que par lui et font n'importe quoi.

PHP n'est pas simple ou facile à apprendre ! Il y a bien trop de piège et d'incohérence pour le qualifier ainsi.

Le fait qu'il soit aussi répandu chez les amateurs/débutants est véritable problème, ce n'est absolument pas une bonne chose.

  • Partager sur Facebook
  • Partager sur Twitter
21 octobre 2018 à 20:38:04

Moi aussi je le recommande parfois pour avoir un apprentissage digne de ce nom, bonnes pratiques, etc...

Mais à ma connaissance PHP peut être utilisé de manière aussi sérieuse et pro de d'autres langages, et puis il évolue encore...

Mieux bien programmé en PHP que de faire n'importe quoi en java ou autre, du coup c'est l'apprentis qui est en cause, pas le langage malgrès ses défaut.

Pour son typage tant décrié, le livre de Luck Welling précise bien que c'est volontaire vu l'objectif de ce langage.

Bon je vais donc passé à Python pour pour réalisation sous wordress, utilisé par les plus grandes entreprises, quelqu'un y voit une objection sur cette orientation ???

-
Edité par pipelette13 21 octobre 2018 à 20:40:11

  • Partager sur Facebook
  • Partager sur Twitter
Stéphanie, blonde mais je me débrouille (....?) ** Mon sondage: mode Dark VS mode Clean
21 octobre 2018 à 20:50:09

Il va falloir faire des efforts sur l'expression. Parce que là, il y a pas mal de phrases qui ne sont que difficilement compréhensibles.

pipelette13 a écrit:

Mieux bien programmé en PHP que de faire n'importe quoi en java ou autre, du coup c'est l'apprentis qui est en cause, pas le langage malgrès ses défaut.

Personne ne dit le contraire. Le problème c'est qu'il est plus complexe de bien programmer en PHP que dans les autres langages. On en revient à :

Ksass`Peuk a écrit:

pipelette13 a écrit:

On peut aussi faire n'importe quoi avec du JS ou du Python..

Bien sûr qu'on peut, la question c'est avec quelle difficulté.

Quand un langage pose objectivement un grand nombre de problèmes que les autres ne posent pas, il est moins recommandable.

pipelette13 a écrit:

Bon je vais donc passé à Python pour pour réalisation sous wordress, utilisé par les plus grandes entreprises, quelqu'un y voit une objection sur cette orientation ???

Pas sûr d'avoir compris cette phrase. Mais si l'idée c'est "je peux pas faire du wordpress en Python, donc PHP est mieux", alors c'est aussi pertinent que dire "je ne peux pas utiliser Unreal Engine en PHP, donc C++ est mieux".

(Personne n'a parlé du typage, même si on peut assez fortement s'opposer aux arguments de Welling).

-
Edité par Ksass`Peuk 21 octobre 2018 à 20:52:16

  • Partager sur Facebook
  • Partager sur Twitter

Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C

Anonyme
21 octobre 2018 à 20:59:14

Mais à ma connaissance PHP peut être utilisé de manière aussi sérieuse et pro de d'autres langages, et puis il évolue encore...

Tous les langages évoluent, sinon c'est qu'ils sont abandonnés... Et évidemment qu'il peut, et même qu'il est utilisé de manière sérieuse et sécurisé, mais certainement pas par les amateurs et débutants.

Mieux bien programmé en PHP que de faire n'importe quoi en java ou autre, du coup c'est l'apprentis qui est en cause, pas le langage malgrès ses défaut.

Non, il est plus difficile de faire n'importe quoi en Java qu'en PHP, il plus difficile de faire n'importe quoi avec presque tous les langages qu'en PHP. Donc non, il vaut mieux faire les choses bien avec un langage simple, que les faire mal avec un langage compliqué.

Sur ceux, la mauvaise fois étant de mise ; bonne continuation.

  • Partager sur Facebook
  • Partager sur Twitter
21 octobre 2018 à 22:27:21

1 - Si je dois conseillée un langage d'apprentissage je choisirai autre chose que PHP, je n'ai jamais dite le contraire.

Mais taper dessus, suivre les autres non...

3 - j'apprécie ceux qui apportent de vrais arguments (Ksass`Peuk en autre) avec leur expériences, les autres moutons je m'en passe....

2 -  Et comme dans tout langages, il y a des personnes qui ne font pas n'importe quoi en PHP, codent proprement dans les règles et réalisent de vrais projets stables, sécurisés, maintenables et à jour.

Sur ce, la mauvaise fois étant de mise ; bonne continuation.

-
Edité par pipelette13 21 octobre 2018 à 22:29:17

  • Partager sur Facebook
  • Partager sur Twitter
Stéphanie, blonde mais je me débrouille (....?) ** Mon sondage: mode Dark VS mode Clean
26 octobre 2018 à 21:32:27

Personnellement je fais du PHP en entreprise depuis 4 ans et ça comble pas mal de besoin.

PHP n'est pas prêt de mourir car on peut malgré tout faire beaucoup de choses avec (bien ou mal mais c'est pas la question) mais bien sur on trouve des technologies qui sont mieux. Je pense qu'il faut savoir évoluer un peu et choisir sa technologie en fonction du projet qu'on doit concevoir.

  • Partager sur Facebook
  • Partager sur Twitter
27 octobre 2018 à 1:16:54

Mais PHP n'a aujourd'hui plus aucun avantage par rapport aux autres solutions possibles pour du web backend, il ne traîne que des inconvénients.

  • Partager sur Facebook
  • Partager sur Twitter
27 octobre 2018 à 1:40:59

Pourquoi, il y en a visiblement qui ont le poster de Python au dessus de leur lit ^^ 

  • Partager sur Facebook
  • Partager sur Twitter
Stéphanie, blonde mais je me débrouille (....?) ** Mon sondage: mode Dark VS mode Clean
6 novembre 2020 à 14:29:41

Le typage dynamique c'est fait pour les gens rigoureux. Si tu code comme un cochon le résulta est dégueulasse. Si tu es bon y a rien à dire je n'ai strictement aucun problème avec PHP. Quand ça ne marche pas c'est qu'on est nul ou stupide ou que l'on cherche à faire du C , pyhton ou du Java en PHP. personne s'amuse à codé en C# ce que l'on code en C++. C'est rassurant de chercher des détails inutile pour justifier son impuissance ces lacune et une mauvais architecture métier... par ce qu'on est un mauvais dev PHP voila simplement. moi je vous conseil vous barrez dans du C/C++ ou du python vous resterez mauvais mais au moins vous allez geulé chez les autres.
  • Partager sur Facebook
  • Partager sur Twitter
6 novembre 2020 à 15:28:32

Donc tu remontes un sujet de 2 ans pour dire n'importe quoi et insulter les participants en fait. C'est marrant parce que Python a aussi un typage dynamique, et C a un typage faible tout en étant statique.

La question n'est pas d'être nul ou stupide, c'est que le langage est propice à l'erreur en permettant sans broncher des conversions implicites de types dans tous les sens (comme le C justement, même si ce dernier bronche un peu plus).

-
Edité par entwanne 6 novembre 2020 à 15:28:52

  • Partager sur Facebook
  • Partager sur Twitter
6 novembre 2020 à 16:19:00

Bonjour,

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter
Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL