• [^] # Re: Des bonnes idées

    Posté par . En réponse à la dépêche Les nouvelles fonctionnalités de PHP 8. Évalué à 0.

    Y'avait pas vraiment de but en soit à part peut-être de démontrer que entre la théorie et la pratique, certains concepts sont loin d'être aussi simple qu'ils n'y paraissent et que autant choisir une techno pour ses fonctionnalités est souvent pertinent, pour les perfs, ça peut être à double tranchant.

    L'asynchronisme, jouer avec plusieurs langages, implémentations c'est toujours intéressant mais chronophage.
    Comme souvent, quand on va dans ce genre de voie :
    * la doc est difficile à trouver
    * le vocabulaire n'est pas standardisé : on va parler de "green thread" dans Java mais ça sera plutôt des coroutines dans d'autres langage voir "green processes" en Erlang
    * la doc pertinente sera souvent noyé par beaucoup de bruit
    * faudra se tourner vers de l'anglais

    Je passe pas mal de temps à lire le source de gros projets dans des langages que je maîtrise ou à regarder http://www.rosettacode.org/wiki/Rosetta_Code qui permet de comparer des langages sur des algos similaires.

    Je pense que l'on a tendance (surtout les dev) a surestimé (moi le 1er) les diffs du software entre le matériel cible alors que dans certains domaines (la concurrence en fait partie), les perfs peuvent être très diff selon l'architecture employé et que des fois il vaut mieux se satisfaire d'une méthodologie éprouvé mais pas optimal plutôt que chercher le saint Graal et finalement se retrouver avec quelque chose de très productif dans un scope précis et improductif dans d'autres.

    disons, les threads en espace utilisateur, je suis assez persuadé que les greens threads limités de Java il y a 20 ans n'étaient pas vraiment performants - ce n'était d'ailleurs pas vraiment leur objectif, leur objectif c'était il me semble surtout de ne pas trop dépendre des spécificités de chaque système d'exploitation pour avoir un mécanisme plus ou moins concurrent.

    Tout à fait.
    Java, leur slogan c'est "run everywhere" et faire des if (os == 'bsd') ça devait pas trop les enchanter.

    Je ne vais plus continuer sur ce fil les échanges concernant l'asynchronisme car ça devient un peu ridicule.
    Néanmoins, ça pourrait être intéressant d'avoir un dépôt de code (et de doc en markdown) avec des exemples sur le sujet :
    - de la vulgarisation
    - des liens vers des trucs pertinents
    - des benchmarks idéalement dans plusieurs langages
    - recommandations : utiliser tel truc dans tel cas

    Si ça botte quelque uns, je pourrais initier le sujet.