IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Qu'est qui ne va plus avec PHP ?


Sujet :

Langage PHP

  1. #201
    Membre actif
    Profil pro
    Inscrit en
    Août 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 21
    Par défaut
    Citation Envoyé par kedare Voir le message
    Oui enfin Facebook quand tu vois tous les bugs, messages d'erreur, problèmes de performances...
    De plus c'est même plus vraiment du PHP quand on voit comment ils ont modifié le fonctionnement en ajoutant une compilation pour améliorer les performances (HipHop for PHP de nom)
    Oui enfin bon, A ceci près que (d'après les chiffres de google en mai 2010), Facebook est "juste" le site le plus visité au monde, alors qu'hiphop a été introduit en mars...
    Que je surf quotidiennement sur des sites (qui n'ont pas le centième des hits de FB) et qui ont réellement des problèmes de performances eux.

    Mais je suis ravis d'apprendre que "les bugs et message d'erreur" de facebooks sont lié au language Php utilisé. J'en déduit que le même site avec un autre language aurait été exempt de bug et message d'erreurs... Cela me sera utile pour le choix du language de mes prochains projets...
    "non, non, on le fait en java ou .net, comme ca y'aura pas de bug..."

  2. #202
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 126
    Par défaut
    Je suis d'accord avec pleins de choses qui ont été dites.

    Finalement, quand on a bossé avec les technos du web à la mode chez les professionnels (ce qui n'est pas un gage de qualité), à savoir : Java, PHP, .NET

    On se rend compte petit à petit de la qualité de chacun des langages.

    En ce qui concerne PHP :
    La qualité des Framework PHP : Zend et Symfony notamment !
    Les performances qui s'améliorent d'année en année

    J'aime bien ce langage.
    Et je n'aime pas la réputation qu'on lui fait : bidouille, moche, pas objet, pas performant, pas sérieux, pas robuste

    La critique du manque de cohérence dans l'API : si c'est une histoire d'underscore dans les noms de fonctions natives du langage....je trouve ça naze comme argument. Parce que bon....sérieusement ? En tant qu'informaticien c'est ça qui vous pose problème ? Moi je pense que c'est le gout de la critique facile vis à vis d'un langage qui remet en cause certains paradigmes qui ont été inculqués en école d'ingé ou à la fac et sur lesquels il est difficile de revenir...alors du coup on tape sur des incohérence dû à des erreurs de jeunesse dans la réalisation du langage.


    N'oublions pas que de très grands sites tournent avec PHP (ou une adaptation de celui-ci) : wikipedia, facebook...autres ?

    Conclusion :
    Pour la critique de mochitude du langage PHP, je donne trois remèdes.
    1. Apprenez à coder en objet
    2. Révisez votre PHP, il a changé de puis PHP3/4...on en est à la version 5.
    3. Utilisez un framework, et apprenez à l'utiliser !

    Vous aurez des résultats comparables à n'importe quel autre langage du web.

    La seule chose qui peut étonner :
    C'est que la promesse de facilité d'utilisation du langage PHP, n'est plus tenue, et n'est plus tenable.

    Si on veut faire du bon code en PHP (optimisé, sécurisé, maintenable, réutilisable, etc) :
    IL FAUT APPRENDRE A CODER EN PHP ET AVEC AU MOINS UN FRAMEWORK.

    L'époque de "je ne sais pas coder je me met au PHP" est désormais un peu loin, car le ticket d'entrée en termes d'apprentissage pour PHP est désormais assez elevé.

  3. #203
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    La critique du manque de cohérence dans l'API : si c'est une histoire d'underscore dans les noms de fonctions natives du langage....je trouve ça naze comme argument.
    La critique sur le manque de cohérence (la seule qui soit indiscutable à mon avis) vient surtout de la position des arguments dans les fonctions.

    Un coup ca va être fonction($chaine,$arg) , et l'autre ca sera fonction($arg,$chaine) du coup , on à toujours un doute (les IDE aidant à lisser ce manque de cohérence).

    Après il est vrai que l'on peut se demander pourquoi on à des fonctions array_* mais des fonction str*
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #204
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Par défaut
    Citation Envoyé par grunk Voir le message
    La critique sur le manque de cohérence (la seule qui soit indiscutable à mon avis) vient surtout de la position des arguments dans les fonctions.

    Un coup ca va être fonction($chaine,$arg) , et l'autre ca sera fonction($arg,$chaine) du coup , on à toujours un doute (les IDE aidant à lisser ce manque de cohérence).
    La FAQ PHP parle de ce problème et donne un moyen mnémotechnique :
    http://fr2.php.net/manual/fr/faq.usi...parameterorder

  5. #205
    OPi
    OPi est déconnecté
    Membre très actif
    Avatar de OPi
    Homme Profil pro
    en recherche d'emploi
    Inscrit en
    Août 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : en recherche d'emploi
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2005
    Messages : 74
    Par défaut Et le type array !
    Un truc que je trouve vraiment foireux c'est que les array pour PHP mélangent divers types abstraits ! "Optimisé pour différentes utilisations" ils disent dans la doc : http://www.php.net/manual/fr/language.types.array.php
    Un tableau en PHP est en fait une carte ordonnée. Une carte est un type qui associe des valeurs en clés. Ce type est optimisé pour différentes utilisations ; il peut être considéré comme un tableau, une liste, une table de hashage, un dictionnaire, une collection, une pile, une file d'attente et probablement plus.
    Donc un array PHP c'est soit ce qu'ils appellent un tableau indexé, soit un tableau associatif, ou bien encore les deux à la fois ! En fait, de mon point de vue, c'est une liste de couples (clé, valeur) avec des méthodes en pagaille. Ce qui ne serait pas vraiment un problème si il y avait les autres types abstraits habituels à disposition.

    Comparaisons simples entre langages (les parallèles exacts étant plus compliqués) :
    Types abstraits : tableau/liste | table associative (aussi appelée dictionnaire)
    En PHP : array (tableau indexé) | array (tableau associatif)
    En Perl : list (@...) | hash (%...)
    En Python : tuple/list (plus généralement sequence) | dictionary (plus généralement mapping)


    Il me semble que c'est beaucoup plus qu'une affaire de goût et d'habitudes. Cela oblige à préciser des règles et exceptions qui couleraient de source si ces types étaient distincts.
    Un petit coup d'oeil sur les méthodes de tri : http://www.php.net/manual/fr/array.sorting.php
    PHP dispose de nombreuses fonctions pour trier les tableaux, et cette section du manuel va vous aider à vous y retrouver.

    Une dernière comparaison (qui vaut ce qu'elle vaut) :
    PHP c'est un tiroir plus ou moins complet remplis de chaussettes dépareillées. Cela n'empêche pas de trouver ce que l'on cherche, mais faut farfouiller, c'est lourd.

    Alors qu'un bon langage (ici que chacun fasse son choix), c'est un tiroir bien rangé de paires de chaussettes avec une étiquette la décrivant de façon non ambigüe. Non seulement on trouve ce qu'on cherche au bon endroit, mais (ce qui devrait être un minimum) ce que l'on trouve fait ce que l'on attend de lui. Je sais, je sais, il y a des problèmes dans tous les langages, mais objectivement en PHP il n'y a pas des problèmes, PHP est un problème en soit.

  6. #206
    Membre extrêmement actif
    Avatar de stailer
    Homme Profil pro
    Architecte technique
    Inscrit en
    Mars 2003
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 144
    Billets dans le blog
    3
    Par défaut
    Surpris par ta critique sur les array PHP qui sont pour moi LA fonctionnalité super pratique de ce langage.

    J'ai fait des trucs de fous avec : mélange, tri, enlever des éléments très précis et parfois même j'ai pu éviter de faire des requêtes en BDD grâce à la puissance des array.

    Sur codeplex tu trouveras même un projet super intéressant qui "émule" du Linq en .net.
    C'est bien la puissance des array qui a permis ce projet et pour l'avoir utilisé il fonctionne excellemment bien.

    Je pense que tu parles davantage de la permissivité de php ton message... et pour moi ce n'est encore une fois aucunement un problème.

  7. #207
    OPi
    OPi est déconnecté
    Membre très actif
    Avatar de OPi
    Homme Profil pro
    en recherche d'emploi
    Inscrit en
    Août 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : en recherche d'emploi
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2005
    Messages : 74
    Par défaut
    Je viens de tomber sur ça dans la doc officielle (en français) :
    En PHP, la comparaison d'objets est proche du comportement des langages orientés objet (bien que PHP n'en soit pas un).

  8. #208
    Membre éprouvé
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 517
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 517
    Par défaut
    Citation Envoyé par OPi Voir le message
    Je viens de tomber sur ça dans la doc officielle (en français) :
    Je vois rien de nouveau. Personne n'a jamais dit que PHP est un langage objet. Cela ne t'empêche pas pour autant de développer en objet avec.

  9. #209
    OPi
    OPi est déconnecté
    Membre très actif
    Avatar de OPi
    Homme Profil pro
    en recherche d'emploi
    Inscrit en
    Août 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : en recherche d'emploi
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2005
    Messages : 74
    Par défaut
    Citation Envoyé par berceker united Voir le message
    Je vois rien de nouveau. Personne n'a jamais dit que PHP est un langage objet. Cela ne t'empêche pas pour autant de développer en objet avec.
    Ben... un peu quand même :
    Citation Envoyé par mrjay42 Voir le message
    [...]
    J'aime bien ce langage.
    Et je n'aime pas la réputation qu'on lui fait : bidouille, moche, pas objet, pas performant, pas sérieux, pas robuste
    [...]
    Citation Envoyé par Wikipédia
    La version actuelle est la version 5, sortie le 13 juillet 2004. Elle utilise Zend Engine 2 et introduit un véritable modèle objet [...]

  10. #210
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Par défaut
    Bonjour.

    Si on suit ce raisonnement, d'autres langages comme C++ ne serait pas non plus de véritables langages OO puisqu'il est possible de développer exclusivement en procédural avec (bien que ça ne soit pas de coutumes).
    Ça n'a pas de sens de juger la dessus ...

    Cordialement,
    Idriss

Discussions similaires

  1. Qu'est qui ne va plus avec Subversion ?
    Par Idelways dans le forum Subversion
    Réponses: 45
    Dernier message: 24/05/2012, 11h55
  2. Qu'est qui ne va plus avec Subversion ?
    Par Idelways dans le forum Actualités
    Réponses: 0
    Dernier message: 16/03/2011, 13h12
  3. Qu'est qui ne va plus avec PHP ?
    Par Idelways dans le forum Actualités
    Réponses: 200
    Dernier message: 03/12/2010, 16h36
  4. function qui ne marche plus avec un 2ème paramètre
    Par Zorgloub dans le forum Général VBA
    Réponses: 3
    Dernier message: 10/09/2008, 23h51
  5. (UNION) Requete qui ne fonctionne plus avec mysql4
    Par kreatik dans le forum Requêtes
    Réponses: 0
    Dernier message: 13/11/2007, 13h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo