+ Répondre à la discussion Actualité déjà publiée
Page 2 sur 2 PremièrePremière 12
  1. #21
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    avril 2014
    Messages
    538
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : avril 2014
    Messages : 538
    Points : 928
    Points
    928

    Par défaut

    avec la bibliothèque de cryptographie Sodium
    Il ne me semble pourtant pas avoir été consulté sur la question ...

  2. #22
    Membre régulier
    Homme Profil pro
    Inscrit en
    juin 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : juin 2012
    Messages : 30
    Points : 108
    Points
    108

    Par défaut

    Depuis la v7, PHP est en train de supprimer peu à peu les derniers arguments objectifs que l'on pouvait reprocher à ce langage.
    Nouveau moteur avec des performances qui n'ont plus rien à envier à Python, typage des variables*, POO moderne... on y arrive!

    * Malheureusement pas géré par tous les frameworks avec notamment les classes compilées avant exécution.
    Si un développeur ne trouve pas au moins une chose gênante dans son code 6 mois après l'avoir écrit, cela signifie qu'il en est au même niveau qu'il y a 6 mois.

  3. #23
    Modérateur
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    mars 2004
    Messages
    4 388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 4 388
    Points : 10 890
    Points
    10 890

    Par défaut

    @Eric30
    C'est clair qu'au fil des versions PHP s'est grandement bonifié. Avec l'avènement de la version 7, on a carrément basculé dans une autre dimension : typage, sucres syntaxiques bien à propos, des performances à tomber à la renverse, une POO solide. Bref, je dois t'avouer que depuis que j'ai goûté à la version 7+, j'ai beaucoup de mal à revenir sur des scripts anciens version 5.6-.
    Dans les entreprises, c'est pareil. PHP est en train de revenir en odeur de sainteté. Vu que le langage s'est rigidifié, il est devenu plus difficile de faire du code sale (bon, c'est toujours possible, je te rassure, mais si tu te donnes les moyens d'utiliser les nouveautés de PHP 7+, c'est presque mission impossible). Tous les échos sont vraiment supers positifs.

    Le support natif de la bibliothèque de sécurité Sodium par le moteur v 7.2 est carrément une "killer feature".

    Go PHP

    PS : La prochaine version majeure 8.0 devrait intégrer une moteur JIT, là, en terme de perfs, ça devrait être le nirvana et laisser les autres accessoirement à la traîne
    # Dans la Création, tout est permis mais tout n'est pas utile...

  4. #24
    Membre régulier
    Homme Profil pro
    Inscrit en
    juin 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : juin 2012
    Messages : 30
    Points : 108
    Points
    108

    Par défaut

    Citation Envoyé par rawsrc Voir le message

    PS : La prochaine version majeure 8.0 devrait intégrer une moteur JIT, là, en terme de perfs, ça devrait être le nirvana et laisser les autres accessoirement à la traîne
    Question: comment cela fonctionnerait-il? Comme Java: c'est à dire que l'on précompile avant de livrer?
    Si un développeur ne trouve pas au moins une chose gênante dans son code 6 mois après l'avoir écrit, cela signifie qu'il en est au même niveau qu'il y a 6 mois.

  5. #25
    Membre confirmé
    Homme Profil pro
    Noob
    Inscrit en
    octobre 2009
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Noob

    Informations forums :
    Inscription : octobre 2009
    Messages : 228
    Points : 617
    Points
    617

    Par défaut

    Oui en gros tu pré-compiles dans un format intermédiaire et lors de l’exécution du programme ce format intermédiaire est compilé en langage machine. Je suis curieux de voir comment PHP implémenterait ça car par design une instance de PHP a une nature très éphémère contrairement à un backend Java ou Python.
    Désolé pour les rétines, clavier QWERTY

  6. #26
    Membre averti Avatar de Aizen64
    Profil pro
    Inscrit en
    mai 2007
    Messages
    499
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2007
    Messages : 499
    Points : 385
    Points
    385

    Par défaut

    J'ignore quel est le rapport de performance entre PHP, Python, Java et je pense que sur une appli web, ce n'est pas le point essentiel sachant qu'une requête SQL de trop c'est 500 ms de perdues, aucun framework ne rattrape ça. Je trouve que c'est tout de même une bonne chose d'en améliorer les perfs, si la MAJ ne coûte rien pourquoi refuser le gain de perfs et conso de mémoire à la baisse ?

    Des Generics en 7.3 ? , une syntaxe alternative pour éviter d'écrire $maVariable mais maVariable et duTexte.length ? Eviter un plantage complet lors d'erreur sur des DateTime ? Ne pas autoriser $nom = "Inconnu" transformé en 0 si typecast en entier ? C'est pas normal ce dernier bug.
    Exprimer une différence d'opinion vaut mieux que :

  7. #27
    Membre régulier
    Profil pro
    Développeur Web
    Inscrit en
    novembre 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : novembre 2010
    Messages : 22
    Points : 115
    Points
    115

    Par défaut

    Pendant ce temps je suis bloqué en PHP5.5.

    Tristesse et desespoir :'(
    Library = Bibliothèque !

  8. #28
    Membre chevronné
    Avatar de SurferIX
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mars 2008
    Messages
    872
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : mars 2008
    Messages : 872
    Points : 1 992
    Points
    1 992

    Par défaut

    Citation Envoyé par Tsilefy Voir le message
    L'article parle d'une intégration dans le core, pas dans un module externe.

    Si tu veux, comparons ce qui est comparable: package vs package. Le package pecl de libsodium existe depuis 2014. C'est exactement ce même package qui va etre intégré dans PHP 7.2
    Ah bon. Le 06/03/2013. Il y a presque 5 ans de ça. Python avait juste un an d'avance sur pecl/Php. Tu as raison ce n'est pas beaucoup, je m'excuse de ma bourde.

    https://umbrella.cisco.com/blog/2013...aphic-library/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    PYTHON EXAMPLE
    Installing the PyNaCl package
    $ git clone git@github.com:dstufft/pynacl.git
    $ cd pynacl
    $ python setup.py install

    Citation Envoyé par Aizen64 Voir le message
    J'ignore quel est le rapport de performance entre PHP, Python, Java et je pense que sur une appli web, ce n'est pas le point essentiel sachant qu'une requête SQL de trop c'est 500 ms de perdues, aucun framework ne rattrape ça. Je trouve que c'est tout de même une bonne chose d'en améliorer les perfs, si la MAJ ne coûte rien pourquoi refuser le gain de perfs et conso de mémoire à la baisse ?
    Je suis 100% d'accord avec toi : améliorer les perfs, c'est super, mais le vrai ralentisseur aujourd'hui à notre époque du big data, c'est les données, et le moteur BD. Si tu fais une Ferrari (Php) mais que tu ne peux rouler qu'en campagne (MariaDB,MySQL), au mieux route nationale (PostGreSQL), ça ne sert à rien...

    Citation Envoyé par Aizen64 Voir le message
    Ne pas autoriser $nom = "Inconnu" transformé en 0 si typecast en entier ? C'est pas normal ce dernier bug.
    C'est une fonctionnalité de Php. Je dirais une immondice, ou comme toi, un bogue, mais bon... Allez du troll, j'aime me faire haïr, mais pourtant c'est quelque part constructif, vous saurez qu'un langage haut niveau gère ça proprement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    python3
    Python 3.6.3 (default, Oct 25 2017, 17:21:40) 
    [GCC 5.4.0 20160609] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> int("0")
    0
    >>> int("0.5")
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ValueError: invalid literal for int() with base 10: '0.5'
    >>> int("test")
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ValueError: invalid literal for int() with base 10: 'test'
    >>>
    "Ceci dit" n'est pas correct. Cf Wikipedia. Cela dit est du français correct.
    Je suis parfois... ⇛ ☆★ En direct ★☆

  9. #29
    Modérateur
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    mars 2004
    Messages
    4 388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 4 388
    Points : 10 890
    Points
    10 890

    Par défaut

    Salut

    Citation Envoyé par SurferIX Voir le message
    Je suis 100% d'accord avec toi : améliorer les perfs, c'est super, mais le vrai ralentisseur aujourd'hui à notre époque du big data, c'est les données, et le moteur BD. Si tu fais une Ferrari (Php) mais que tu ne peux rouler qu'en campagne (MariaDB,MySQL), au mieux route nationale (PostGreSQL), ça ne sert à rien...
    tu pousses loin la mauvaise foi dis donc..., je te ferai remarquer que c'est valable pour tous les langages.
    D'ailleurs si tu veux des perfs coté BDD, c'est pas le choix qui manque. PHP s'interface avec à peu près tout ce qui se fait en la matière.
    La vélocité de PHP 7+ n'est plus à démontrer (même face à python 3 qui est clairement derrière). Après les problèmes des autres briques logicielles qui se traînent c'est clairement autre chose. Tu ne peux pas faire d'amalgame si grossier.

    Pour ce qui est des transtypages exotiques, c'est très bien documenté et au pire tu fais comme moi que des comparaisons strictes avec des casting explicites.
    Bref, les raisons de ce comportement remontent à la préhistoire du web à l'époque ou PHP était en version 1.0

    Pour finir sur le typage :
    Typage strict

    Par défaut, PHP va convertir les mauvais types vers le type scalaire attendu tant que possible. Par exemple, une fonction, qui attend comme paramètre un integer (entier), à laquelle est passée une string (chaine de caractères) recevra une variable de type string.

    Il est possible d'activer un typage strict fichier par fichier. Dans ce mode, seule une variable du type exact correspondant au type attendu dans la déclaration sera acceptée sinon une exception du type TypeError sera levée. La seule exception à cette règle est qu'un entier (integer) peut être passé à une fonction attendant un nombre flottant (float). Les appels aux fonctions depuis des fonctions internes ne seront pas affectés par la déclaration strict_types.

    Pour activer le typage strict, l'expression declare est utilisée avec la déclaration strict_types :
    # Dans la Création, tout est permis mais tout n'est pas utile...

  10. #30
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    juillet 2005
    Messages
    28 643
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : juillet 2005
    Messages : 28 643
    Points : 42 566
    Points
    42 566

    Par défaut

    Ce n'est tout de même pas compliqué d'intégrer que PHP est un langage faiblement typé avec tout ce qui en découle.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #31
    Membre chevronné
    Avatar de SurferIX
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mars 2008
    Messages
    872
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : mars 2008
    Messages : 872
    Points : 1 992
    Points
    1 992

    Par défaut

    Citation Envoyé par rawsrc Voir le message
    Tu pousses loin la mauvaise foi dis donc..., je te ferai remarquer que c'est valable pour tous les langages.
    En quoi il y a de la mauvaise foi ? Je n'ai jamais dit que c'était spécifique à Php, tu vois le mal partout dis donc....
    J'ai juste dit (et c'est valable pour Python, LUA, C#, VB et tous les langages utilisés pour le Web) que le vrai ralentisseur aujourd'hui c'était la base de données...

    Citation Envoyé par rawsrc Voir le message
    La vélocité de PHP 7+ n'est plus à démontrer (même face à python 3 qui est clairement derrière). Après les problèmes des autres briques logicielles qui se traînent c'est clairement autre chose. Tu ne peux pas faire d'amalgame si grossier.
    Faut arrêter la parano.... bien sûr que Php 7 est plus performant que Python ... vraiment bizarre ton comportement.

    Citation Envoyé par rawsrc Voir le message
    Pour ce qui est des transtypages exotiques, c'est très bien documenté et au pire tu fais comme moi que des comparaisons strictes avec des casting explicites.
    Bref, les raisons de ce comportement remontent à la préhistoire du web à l'époque ou PHP était en version 1.0
    Tu as raison. Mais cela rajoute du code. En Python c'est natif. Pas de code à ajouter, pas de lignes de code qui polluent inutilement les sources. Quoi que tu en dise, Php ne permet pas de développer des sites Web aussi vite et avec une aussi bonne qualité qu'en Python, mais on s'éloigne du début : le seul point que je tenais à souligner c'est que même si on a un langage ultra performant, même si tout est écrit en assembleur, on attendra les retours de la base de données, et on sera limité à la vitesse de la BD, quel que soit le langage Web utilisé : Python, LUA, C#, VB etc. Il n'y avait rien de méchant ni d’agressif dans mon commentaire précédent.
    "Ceci dit" n'est pas correct. Cf Wikipedia. Cela dit est du français correct.
    Je suis parfois... ⇛ ☆★ En direct ★☆

  12. #32
    Membre chevronné
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    novembre 2012
    Messages
    1 526
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : novembre 2012
    Messages : 1 526
    Points : 2 082
    Points
    2 082

    Par défaut

    En quoi il y a de la mauvaise foi ?
    SurferIX est un habitué de la mauvaise foi. cet individu traque sans relâche le PHP, Symfony.....
    cette attitude commence à bien faire et dure depuis trop longtemps maintenant.


    sur indeed :
    1443 offres d'emploi ou est cité Symfony
    203 offres d'emploi ou est cité Django

    sur monster.fr :
    77 offres d'emploi Symfony
    9 offres d'emploi Django

  13. #33
    Membre averti

    Inscrit en
    juin 2008
    Messages
    297
    Détails du profil
    Informations forums :
    Inscription : juin 2008
    Messages : 297
    Points : 345
    Points
    345

    Par défaut

    Citation Envoyé par dukoid Voir le message
    SurferIX est un habitué de la mauvaise foi. cet individu traque sans relâche le PHP, Symfony.....
    cette attitude commence à bien faire et dure depuis trop longtemps maintenant.


    sur indeed :
    1443 offres d'emploi ou est cité Symfony
    203 offres d'emploi ou est cité Django

    sur monster.fr :
    77 offres d'emploi Symfony
    9 offres d'emploi Django
    Je me demande d'où vient sa frustration....

  14. #34
    Membre averti Avatar de Aizen64
    Profil pro
    Inscrit en
    mai 2007
    Messages
    499
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2007
    Messages : 499
    Points : 385
    Points
    385

    Par défaut

    Pour revenir sur les différents commentaires :

    @rawsrc : c'est pas parce que la conversion de type est documentée qu'elle n'est pas un bug donc non je ne suis pas d'accord. Sur le typage optionnel en PHP, c'est un peu mi figue mi raisin selon moi. Il me semble de declare(scrict_types=1) fait à moitié le travail.

    Pourquoi ne pas autoriser de typer toutes les variables ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
     
    int unEntier = 1;
    string uneChaine = "un truc";
     
    uneChaine.length; // merde c'est plus court que strlen( $uneChaine ):
    ?>
    Une fois de plus, les perfs ne sont pas forcément l'essentiel, du SQL exécuté pour rien c'est 500 ms de perdues soit bien plus que l'impact d'un framework, cela dit, je trouve très intéressant d'avoir de gros gains de perfs entre version. Pourquoi ? Si tu ne traines pas de code déprécié, l'upgrade de PHP ou un autre langage c'est gratuit donc autant en profiter.

    Aujourd'hui, j'ai du mal à comprendre pourquoi Ruby par exemple a des perfs aussi mauvaises, c'est tous des dérivés du C non ?

    Quand aux débats de langages, tous les gros framework font un peu la même chose, c'est surtout une question de "goût" sur la langage et de structure de code pour la maintenabilité d'une app.

    Sur les frameworks, ils ne sont pas forcément indispensables pour la création de petits outils par exemple et même certains outils minimalistes (Slim 3) peuvent très bien faire l'affaire.
    Exprimer une différence d'opinion vaut mieux que :

  15. #35
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    juillet 2005
    Messages
    28 643
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : juillet 2005
    Messages : 28 643
    Points : 42 566
    Points
    42 566

    Par défaut

    c'est pas parce que la conversion de type est documentée qu'elle n'est pas un bug donc non je ne suis pas d'accord
    Ce n'est pas un bug tout simplement parce que c'est souhaité ainsi depuis le début de PHP.
    La raison est simple : PHP servait a exploiter des formulaires HTML donc des données sans type.
    Mais encore une fois je ne vois pas l'obsession sur ce point, il faut vivre avec hein. Le typage n'est pas le graal de la programmation.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Bibliothèque PHP création de jeu online : ça existe?
    Par smirnoff dans le forum Jeux web
    Réponses: 7
    Dernier message: 09/05/2015, 22h43
  2. [PHP-MySql] Gestion d'une bibliothèque
    Par youtch dans le forum Mon programme
    Réponses: 10
    Dernier message: 30/11/2012, 11h35
  3. Bibliothèque mcrypt PHP
    Par seb67110 dans le forum Fonctions
    Réponses: 4
    Dernier message: 29/11/2007, 19h27
  4. [Path]prog lancé en PHP : pb de bibliothèques
    Par mellie dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 29/06/2004, 18h19

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