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 :

Une spécification formelle du langage de programmation voit le jour


Sujet :

Langage PHP

  1. #1
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut Une spécification formelle du langage de programmation voit le jour
    PHP : une spécification formelle du langage de programmation voit le jour
    le projet supervisé par Facebook

    Plusieurs langages de programmation les plus populaires évoluent en fonction des spécifications qui ont été établies au préalable. Dans ce registre, on peut citer les langages de programmation comme Java, C++, JavaScript ou encore C#.

    La spécification pour un langage de programmation est la source de référence pour sa syntaxe et son utilisation. Elle contient des informations détaillées sur tous les aspects du langage et définit un cadre pour son implémentation.

    Le langage PHP, bien que jouissant d’une importante popularité dans le monde du développement Web depuis 1995, n’a jamais eu droit à une spécification officielle, se limitant à offrir aux utilisateurs du langage une vaste documentation.

    De plus, à la suite de la création du moteur de script Zend Engine (qui était la référence pour avoir une idée sur le fonctionnement du langage), plusieurs alternatives avec des implémentations assez différentes ont vu le jour afin d’améliorer les performances du langage.

    Il était donc devenu nécessaire de nos jours d’offrir une spécification formelle du langage de programmation, qui définira ce qui est attendu des moteurs de script. C’est ainsi qu’un groupe de développeurs a lancé un projet de spécification pour PHP, afin de mettre au point une définition complète de la sémantique et de la syntaxe de PHP.

    Le groupe est dirigé par Facebook et on y retrouve Andi Gutmans, le PDG de Zend Technologies et créateur de Zend Engine, ainsi que le créateur de PHP Rasmus Lerndorf.

    « La prochaine version de PHP – PHP 7 - est en cours de développement. Afin de garantir le respect complet des scripts PHP existants, il est important de savoir ce qui est attendu du moteur », a déclaré Sara Golemon de Facebook. « En outre, avec des implémentations alternatives comme HHVM, il est important de garder un minium de divergence pour faciliter la compréhension de ce à quoi devrait ressembler un moteur. »

    Pour rappel, HHVM (HipHop Virtual Machine) est un projet développé par Facebook afin d’accélérer la vitesse de rendu des pages PHP. HHVM est un compilateur PHP Just In Time (JIT) qui offrirait, selon Facebook, des performances six fois supérieures à celles de Zend Engine. Avec les futures évolutions de PHP et la sortie imminente de PHP 5.6, Facebook a besoin d’avoir des informations détaillées sur tous les aspects du langage pour offrir une implémentation de HHVM qui sera cohérente avec ces évolutions.

    Une première ébauche de la spécification est déjà disponible sur la plateforme d’hébergement des projets open source GitHub et à long terme, le document sera élaboré à côté de la mise en œuvre de PHP.


    La spécification formelle de PHP


    Et vous ?

    Qu'en pensez-vous ? Était-il temps que PHP ait une spécification ?
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  2. #2
    Membre éclairé
    Ingénieur de recherche
    Inscrit en
    Novembre 2008
    Messages
    227
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur de recherche

    Informations forums :
    Inscription : Novembre 2008
    Messages : 227
    Points : 825
    Points
    825
    Par défaut
    Quelqu'un pour dire à Facebook de rester à sa place où on les laisse définir le monde comme ils l'entendent encore longtemps ?

  3. #3
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 560
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 560
    Points : 15 487
    Points
    15 487
    Par défaut
    En même temps on peut difficilement leur reprocher de s'être attelé a ce qui aurait du être fait par les créateurs du langage depuis au moins PHP4, époque ou PHP a tenté de se professionnaliser. Il n'ont fait qu'aider à formaliser les spécifications d'un outil qui leur est absolument indispensable, visiblement en collaboration avec les créateurs du langage.

    La vraie question serait plutôt, comment ça ce fait que ça n'ait pas été fait avant.

  4. #4
    Rédacteur/Modérateur
    Avatar de arnolddumas
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Autriche

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

    Informations forums :
    Inscription : Novembre 2012
    Messages : 978
    Points : 7 764
    Points
    7 764
    Par défaut
    Citation Envoyé par Haseo86 Voir le message
    Quelqu'un pour dire à Facebook de rester à sa place où on les laisse définir le monde comme ils l'entendent encore longtemps ?
    Je n'ai aucune afinité avec Facebook mais je vois mal comment on pourrait leur reprocher de mettre cela sur la table. Cela ne pourra que renforcer le langage, c'est tout benef' à la fois pour Facebook mais aussi pour la communauté PHP.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 184
    Points : 409
    Points
    409
    Par défaut
    Je ne suis pas tellement d'accord avec les commentaires précédents: tant qu'il n'y avais pas de réelle autre implémentation que celle de zend, il n'y avait pas lieu à une spécification formelle, celle-ci étant de facto un standard. Maintenant que Facebook y met son grain de sel avec HHVM, ça prend tout son sens.

  6. #6
    Membre éprouvé Avatar de tdutrion
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2009
    Messages
    561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Côte d'Or (Bourgogne)

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

    Informations forums :
    Inscription : Février 2009
    Messages : 561
    Points : 1 105
    Points
    1 105
    Par défaut
    Personnellement je trouve ça plutôt bien que Facebook investisse vraiment dans ces specifications, ils en ont besoin mais ne demandent pas juste à la communauté de les écrire, ils les font et les ouvrent, donc pas de reproche à leur faire.

    Dans l'article, je ne sais pas si ça vient de la rédaction ou du manque de contexte, mais HHVM 6x plus rapide que Zend Engine c'est une fois que HHVM a passé sa periode de warmup, et sans utiliser opcache sur 5.5 en comparaison si je ne m'abuse. La comparaison serait plus intéressante avec phpng qu'avec le vieillissant Zend Engine.

  7. #7
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2004
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 60
    Points : 53
    Points
    53
    Par défaut
    Annonce développement de PHP 7 puis la spécification, que de bonnes nouvelles pour un langage que j'aime bien. Je pense que Facebook apporte là un appuie pas négligeable. Good!

  8. #8
    Membre éprouvé Avatar de Shuty
    Homme Profil pro
    Ingénieur en développement
    Inscrit en
    Octobre 2012
    Messages
    630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur en développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 630
    Points : 1 174
    Points
    1 174
    Par défaut
    Citation Envoyé par Uther Voir le message
    En même temps on peut difficilement leur reprocher de s'être attelé a ce qui aurait du être fait par les créateurs du langage depuis au moins PHP4, époque ou PHP a tenté de se professionnaliser. Il n'ont fait qu'aider à formaliser les spécifications d'un outil qui leur est absolument indispensable, visiblement en collaboration avec les créateurs du langage.

    La vraie question serait plutôt, comment ça ce fait que ça n'ait pas été fait avant.
    C'est vrai qu'avec un peu de recul, je trouve ça un peu abérant... Surtout que depuis 95, personne ne s'était penché sur le sujet...
    Agence web Dim'Solution, créateur de solutions numériques
    Sites internet, ecommerce, logiciels, applications mobiles, référencement (SEO), plugin Prestashop, Magento, WordPress, Joomla!...

    Cours de trading gratuit | Envoyer des sms gratuitement | Envoyer des fax gratuitement | Plateforme de Fax à l'international

  9. #9
    Membre confirmé
    Inscrit en
    Septembre 2004
    Messages
    314
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 314
    Points : 463
    Points
    463
    Par défaut
    Il était temps !!!

    C'est une très bonne chose.

  10. #10
    Membre émérite
    Inscrit en
    Janvier 2006
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 722
    Points : 2 717
    Points
    2 717
    Par défaut
    Citation Envoyé par miky55 Voir le message
    Je ne suis pas tellement d'accord avec les commentaires précédents: tant qu'il n'y avais pas de réelle autre implémentation que celle de zend, il n'y avait pas lieu à une spécification formelle, celle-ci étant de facto un standard. Maintenant que Facebook y met son grain de sel avec HHVM, ça prend tout son sens.
    Pas d'accord. C'est parce qu'il n'a pas de spécification que Perl 5 n'a jamais eu plus d'une seule implémentation (alors que Python et Ruby ont au moins une version en C, une pour la JVM et même une en C#) : il aurait été absolument impossible qu'elles soient 100% compatibles à défaut de tests permettant de le prouver.
    Perl 6 a une spécification, du coup il a des implémentations en C#, Haskell, ... mais il est vrai qu'il avance lentement, probablement parce que cette spécification est arrivée bien tard. Espérons donc que celle de PhP aura des effets plus positifs.

  11. #11
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Malgré toutes les bonnes nouvelles de ces dernières années, cette spécification est sans doute la meilleure chose qui soit arrivée à PHP depuis l'arrivée de PHP 5.

    Il fallait disposer de moyens énormes comme Facebook avant pour faire du reverse engineering sur le langage en entier et faire une implémentation différente. Avec les specs, on aura plus de choix, et qui dit choix dit amélioration des performances.

    Il est temps aussi que PHP sorte des jupes de Zend et coupe le cordon.

  12. #12
    Candidat au Club
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2013
    Messages : 2
    Points : 4
    Points
    4
    Par défaut
    Que vient faire Face de Book avec cette spécification, si ce n'est que par intérêt.

  13. #13
    Nouveau Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Spécification formelle
    Ce n'est pas une spécification formelle mais seulement une spécification. En informatique spécification formelle a un sens très précis, lié à un modèle mathématique qui permet également de vérifier formellement la réalisation du système. Voir : http://fr.wikipedia.org/wiki/M%C3%A9...3.A9cification

Discussions similaires

  1. Réponses: 0
    Dernier message: 06/05/2014, 07h03
  2. Réponses: 50
    Dernier message: 06/04/2010, 10h55
  3. Réponses: 37
    Dernier message: 01/04/2010, 14h17
  4. Langage de spécification formelle
    Par bilred dans le forum Algorithmes et structures de données
    Réponses: 14
    Dernier message: 18/04/2009, 18h17
  5. Choix d'un langage de programmation pour une application orientée web
    Par Mick DG dans le forum Général Conception Web
    Réponses: 10
    Dernier message: 12/07/2006, 13h45

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