Par ex, ton navigateur Chrome ou Firefox fait de l'asynchrone en utilisant un process par onglet (mais souvent plusieurs threads dans ce mĂŞme onglet) : dans l'absolu, ce n'est pas parfait.
Enfin, faudrait plus un indicateur sur les nouveaux sites et ceux refondus car le web a un peu d'histoire et effectivement tu remplaces pas 20 ans de vanilla JS/jquery par d'autres frameworks en un coup de baguette.
Je ne connais pas assez PHP, mais en java on a pas attendu que ça fasse partie du langage pour avoir de l'asynchrone avec rx et netty. Python non plus d'ailleurs (à minima avec des trucs comme twisted). Pas plus que perl en fait (avec POE).
Donc par exemple, linux c'est de l'amateurisme selon toi ? Ou gcc par exemple ? Gnome ? Comme gimp d'ailleurs.
Le versionning de TeX et de LaTeX, pour toi ça se classe où par exemple ?
Si on parle toujours de Cairn, Belin c'est 19M€ de CA, De Boeck 8,5M€, les PUF 9M€, Madrigall 500M€, et je passe les petits. Fais-moi croire qu'ils ne peuvent pas trouver 80k€/an pour embaucher un gars pour leur expliquer comment fonctionnent des cookies.
Ils peuvent probablement embaucher (ils ont des variations de +/-5 personnes dans leurs effectifs), mais faut arrĂŞter de faire dire au CA quelque chose de farfelu.
[^] # Re: Des bonnes idées
Posté par barmic 🦦 . En réponse à la dépêche Les nouvelles fonctionnalités de PHP 8. Évalué à  3. Dernière modification le 02 décembre 2020 à 01:00.
Je ne suis pas d'accord :)
Alors en soit oui, mais il y a des amalgames. La parallélisation est le fait de faire plusieurs choses en même temps et l'asynchronisme est le fait de gérer le décallage temporel qu'il peut y avoir entre 2 évènements. J'aime bien parler de réactif pour l'engouement actuel. Il s'agit de considérer toutes tes IO selon des paradigmes asynchrones supprimant tout blocage.
Pour la parallélisation oui, pour du réactif les threads et process sont de piètres palliatifs.
Avoir la RAM suffisante est vraiment un palliatif quand on compare au résultats des solutions réactives et tu es face à un problème de taille : la multiplication de tes threads ou processus multiplie les commutations de contexte. Donc plus tu as de clients plus tu passe une proportion de ton temps dans tes commutations de contexte. Entre ça et la RAM qui va avec c'est très dommageable, pour les gros car ce sont des serveurs en plus à avoir et pour les petits parce que ça empêche de fonctionner correctement sur les les plus petites machines.
La différence est drastique.
Ils ont d'autres contraintes. Ils ont par exemple besoin de garantir qu'un onglet n'accède pas aux données d'un autre onglet. Le fonctionnement des greens threads pose aussi des problèmes quand tu exécute du code qui n'est pas à toi.
Tu te fourvoie sur les greens threads, ils ne sont pas vraiment fais pour la parallélisation et ce ne sont pas les meilleurs pour ça.
Le principe derrière réactif dont je parlais plus haut c'est d'avoir un pattern reactor. Tu as une boucle d'évènements1 et tu les traite l'un après l'autre sans avoir de thread (et encore moins de processus) entre la boucle d'évènement et le traitement. Tu as une boucle par CPU et une file d'évènements devant. Chaque IO doit passer par cette boucle d'évènements. Ça c'est l'interne, l'implémentation, c'est du traitement coopératif, on ne préempte pas c'est toi qui laisse la main. Évidement il ne faut pas être être CPU bound (sinon tu as besoin de paralléilisation) mais IO bound.
POE et twisted te montrent assez directement ce paterne. Mais tu as d'autres API qui l'encapsule et t'aide à t'en servir. C'est ça les green thread. Chaque appel qui paraît bloquant est en fait implémenté de façon asynchrone et est l'occasion de passer la main à l'évènement suivant. Mais il y en a d'autres comme les acteurs ou rx par exemple.
En php tu ne gère pas un serveur qui reçois des requêtes que tu dois traiter. Ton code est instancié pour chaque requête. C'est la stack qui s'occupe de ça pour toi. Tu as différentes façon de lancer ton code PHP ce n'est pas lié à ta version de php (pour pouvoir être réactif il faut effectivement ajouter des choses dans le langage). Pour le parallélisme, il est par essence massivement parallèle. Tu peut avoir des besoin de parallélisation en plus, mais en soit c'est rare et c'est dangereux de faire du parallélisme par requête.
c'est basé à fond sur
epoll(4)
pour attendre des évènements sur une série de file descriptor ↩https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Des bonnes idées
Posté par barmic 🦦 . En réponse à la dépêche Les nouvelles fonctionnalités de PHP 8. Évalué à  3.
Ah ah. Oui d'accord. Mais ça on s'en fout et ça n'a pas grand intérêt en PHP. Quand on parle d'async, ce qui a de l'engouement c'est pas le multiprocessing. Toute le monde sait en faire et php est probablement bien mieux capable de paralléliser que python et le gil.
Non ce qui intéresse les gens c'est d'avoir des IO asynchrone. L'idée ce n'est pas de faire du parallélisme mais de multiplexer les IO à bas coup (sans utiliser des threads "lourd" et encore moins faire du multiprocessing).
C'est précisément ce qui est recherché quand on parle d'asynchrone.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Des bonnes idées
Posté par barmic 🦦 . En réponse à la dépêche Les nouvelles fonctionnalités de PHP 8. Évalué à  3.
Tu le ressent quand un site est en PHP ? Pas moi. Je n'ai pas particulièrement à expliquer aux gens comment s'habiller.
Il me semble bien moins confortable et nombriliste d'avoir un regard curieux sur quelque chose qu'on apprécie pas à priori que de cracher dessus.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Des bonnes idées
Posté par barmic 🦦 . En réponse à la dépêche Les nouvelles fonctionnalités de PHP 8. Évalué à  3.
Ce n'est pas ce que j'ai voulu dire. C'est leur publicité qui est un biais actuel. Comme go l'a eu avant et scala aussi par exemple. Ils ont une place, mais du fait de l'engouement qu'ils produisent ils sont surexposés. Ça contribue à leur créer une place d'ailleur (et c'est le cycle normal).
Il est question des parts de framework dans le navigateur dans le web publique, c'est bien explicité.
C'est forcément une inconnue, mais amha soit il y a encore plus de latence car moins d'investissement soit c'est du même ordre.
C'est pour ça que la démarche de l'almanach est annuelle, ils préparent la nouvelle version.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Des bonnes idées
Posté par barmic 🦦 . En réponse à la dépêche Les nouvelles fonctionnalités de PHP 8. Évalué à  2.
Et les opcodes+jit c'est quoi d'après toi ?
Le modèle d'exécution de php doit pas mal aider pour ça.
Te reprendre ce n'est pas défendre corps et âme. Je n'aime pas du tout php. Mais je distingue ne pas du tout aimer et considérer que c'est objectivement mauvais. Je n'aime pas le turquoise, ça n'en fais pas une mauvaise couleur.
Te répondre me donne l'occasion de faire des recherches sur php et python, je trouve ça cool. Ça fait bien longtemps que je ne te réponds plus pour tenter de te convaincre tu te remets bien suffisamment en question tout seul, mais revoir l'historique de l'asynchrone en python, s'intéresser au runtime php,… je trouve ça cool.
Je ne vais pas te demander pourquoi tu viens faire une croisade, au mieux c'est juste du troll.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Le site semble à présent conforme
Posté par barmic 🦦 . En réponse au journal Je viens de déposer plainte à la CNIL : mon retour d'expérience.. Évalué à  3.
Tu pense que la cnil réagit en quelques jours ?
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Des bonnes idées
Posté par barmic 🦦 . En réponse à la dépêche Les nouvelles fonctionnalités de PHP 8. Évalué à  4.
asyncio a était intégré au langage en 2014, ok ça fait 6 ans. Mais asyncio était hors du langage avant ça et depuis bien avant il y avait twisted. Et ça n'a pas l'air d'avoir trop contraint tornado, flask et autres pour faire de l'asynchrone.
De ce que je vois avec python et java, on expérimente hors du langage et c'est quand les pratiques de la communauté se stabilise que l'on intègre dans le langage. Ça me paraît pas idiot comme approche.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Des bonnes idées
Posté par barmic 🦦 . En réponse à la dépêche Les nouvelles fonctionnalités de PHP 8. Évalué à  4.
Il est interprété dans certains modes puis le JIT se met en place et ça fini en code natif après un temps de chauffe assez connu.
PHP compile vers des opcode au premier passage qui sont réutilisés aux autres appel et depuis PHP8 peut faire du JIT.
L'interprétation le bytecode à chaque appel jusqu'au JIT ou interprété du code source au premier accès puis réutiliser l'opcode. La mesure de performance est loin d'être aussi simpliste.
T'es convaincu de beaucoup de choses j'ai l'impression.
Les design pattern ce n'est pas forcément OO, une monade c'est un design pattern par exemple.
Il évolue pas assez vite ou trop ? Qu'est-ce nous donne à nous non utilisateur de ce langage une quelconque pertinence pour dire ce qui devrait être ou ne pas être du PHP ? D'autant que c'est des discussions qu'ils ont et qui sont bien plus argumentées que tout ce que nous pourront produire ici.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Des bonnes idées
Posté par barmic 🦦 . En réponse à la dépêche Les nouvelles fonctionnalités de PHP 8. Évalué à  4.
Java a de l'async depuis quelques années (et encore ça n'est pas si simple), python depuis 5 ans si je ne m'abuse et perl n'en a pas encore. Comme PHP, ils passent par des bibliothèques externes.
À noter que le cas d'usage le plus répandu de PHP, un reverse proxy avec FPM, une base MySQL ou Postgres, pose différemment la problématique de l'asynchrone. Par exemple si ton driver de base de données n'est pas asynchrone ça n'a pas grand intérêt. En java on commence à en avoir, mais je suis suis pas sûr que ce soit très répandu ailleurs. Pour ce qui est de l'IO sur la socket client, je pense que c'est au sein de FPM (quand tu déploie avec FPM) que ça se gère et pas du tout au niveau des API du langage.
Bien sûr il y a d'autres IO possibles et classiques (en vraiment classique je pense à mongo et redis) mais il faut voir pour chacun où ça en est.
Ensuite faut se rappeler que l'asynchrone ça n'est pas forcément la panacée, ça dépend de ton workload.
Tu n'a pas l'impression de faire des jugements à l'emporte pièce pour chaque pseudo-argument que tu donne ?
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
# Super
Posté par barmic 🦦 . En réponse au journal Pijul, version 1.0 en approche. Évalué à  5.
Excellent ! J'espère qu'il trouvera à place !
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Des bonnes idées
Posté par barmic 🦦 . En réponse à la dépêche Les nouvelles fonctionnalités de PHP 8. Évalué à  3.
Je ne connais pas assez PHP, mais en java on a pas attendu que ça fasse partie du langage pour avoir de l'asynchrone avec rx et netty. Python non plus d'ailleurs (à minima avec des trucs comme twisted). Pas plus que perl en fait (avec POE).
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Des bonnes idées
Posté par barmic 🦦 . En réponse à la dépêche Les nouvelles fonctionnalités de PHP 8. Évalué à  3.
Ta véhémence ne doit pas beaucoup aider.
PHP, comme d'autres langages genre java. N'ont pas la hype. Mais il faut faire la part des choses entre la hype et ce qui est utilisé. Typescript et rust font énormément parler mais ça cache un biais. L'informatique, le développement c'est un énorme paquet de développeurs qui ne s'expriment pas ou pas dans ta langue ou pas là où tu va.
L'exemple le plus simple. Vu la com' on pourrait croire que react, angular et vue dominent le développement en navigateur alors qu'à eux 3 ils représentent 7% des sites web.
Certains des sites les plus visités au monde sont écris en PHP, la rivalité entre laravel et symphony crée une bonne dynamique,… Ça mérite un chouia plus de considération que de crier à tut tête qu'il faut l’abandonner surtout sans autre arguments que "je connais personne qui aime".
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Des bonnes idées
Posté par barmic 🦦 . En réponse à la dépêche Les nouvelles fonctionnalités de PHP 8. Évalué à  3.
C'est tellement un classique comme phrase qu'il y a très peu de chance. C'est de l'humour qui sert à exprimer qu'il faut se détendre. Le reste de mon commentaire l'explicite sans ambiguïté si c'était nécessaire.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: le but ?
Posté par barmic 🦦 . En réponse au lien Le protocole Gemini, revenir à du simple et sûr pour distribuer l'information en ligne ? - Botzmeyer. Évalué à  3.
Ben il me semble qu'il était à l'état de l'art de son époque.
D'acc c'est le billet donné en haut qui m'a induit en erreur.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Des bonnes idées
Posté par barmic 🦦 . En réponse à la dépêche Les nouvelles fonctionnalités de PHP 8. Évalué à  3.
C'est quoi ton problème ? Ta copine t'a trompé avec un développeur PHP au lycée ?
Pourquoi être aussi véhément ? Personne ne t'oblige à quoi que ce soit et les gens ont bien le droit d'utiliser les outils qui leur plais sans avoir à subir de regards noirs non ?
Tu dis toi même ne pas trop t'y intéresser c'est ton droit, mais pourquoi vouloir s'en prendre à PHP ? Soit tu t'y intéresse et tu peux donner des arguments soit tu troll comme là et ça te ridiculise plus que ça ne fait avancer ta cause.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Des bonnes idées
Posté par barmic 🦦 . En réponse à la dépêche Les nouvelles fonctionnalités de PHP 8. Évalué à  3.
Donc par exemple, linux c'est de l'amateurisme selon toi ? Ou gcc par exemple ? Gnome ? Comme gimp d'ailleurs.
Le versionning de TeX et de LaTeX, pour toi ça se classe où par exemple ?
Le sémantique versionning est très utilisé, mais il faut pas être obtus. Déjà il est arrivé après la notation mais il y a d'autres équipes qui font autrement je ne vois pas en quoi c'est de l'amateurisme.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Des bonnes idées
Posté par barmic 🦦 . En réponse à la dépêche Les nouvelles fonctionnalités de PHP 8. Évalué à  2.
D'où tu tire qu'ils utilisent semver ?
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: le but ?
Posté par barmic 🦦 . En réponse au lien Le protocole Gemini, revenir à du simple et sûr pour distribuer l'information en ligne ? - Botzmeyer. Évalué à  6.
Même l'encyclopédie de Diderot avait des images. Ça me parait plutôt pratique d'avoir image et schémas pour distribuer de l'information.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Des bonnes idées
Posté par barmic 🦦 . En réponse à la dépêche Les nouvelles fonctionnalités de PHP 8. Évalué à  3.
Je crois que c'est aussi le cas si tu utilise php-fpm il me semble.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Discussion
Posté par barmic 🦦 . En réponse au lien Le protocole Gemini, revenir à du simple et sûr pour distribuer l'information en ligne ? - Botzmeyer. Évalué à  3.
Tu fais comment avec TOFU si ton serveur crash du coup ?
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Des bonnes idées
Posté par barmic 🦦 . En réponse à la dépêche Les nouvelles fonctionnalités de PHP 8. Évalué à  8. Dernière modification le 30 novembre 2020 à 06:27.
Ils ont tout de mĂŞme :
Je ne suis pas très à jours, mais aux dernières nouvelles que j'ai vu Facebook ne fais plus de php, mais uniquement du hack.
C'est les travaux de Facebook qui ont précipité la mort de php 6 et le travail de php 7 quasiment uniquement orienté vers la performance.
OwnCloud a clairement choisi PHP car on ouvre plus d'hébergement LAMP que python, perl ou ruby.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Des bonnes idées
Posté par barmic 🦦 . En réponse à la dépêche Les nouvelles fonctionnalités de PHP 8. Évalué à  3.
Tu t'appuis sur de l'analyse statique. La lancer dans une étape du build, sur ton ide, en pre-commit, en pre-push ou quand tu feux ça ne change pas grand chose.
Reprocher que ça n'est pas forcément exécuter c'est comme disqualifier les tests parce que rien ne t'oblige à les lancer. La plus part des projets utilisent des analyseurs statistiques aussi car ils en ont besoin.
PHP comme tous les langages est compilé mais compilé au runtime, ce qui signifie que le moindre run vérifie toute la sémantique de type tant que tu ne t'appuis pas trop sur du typage dynamique.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Raisons d'essayer Rust
Posté par barmic 🦦 . En réponse au journal Retour d'expérience sur les langages de programmation. Évalué à  2.
Alors essayer d'en déduire les formalisme tout en étant préscriptiviste. C'est vouloir en faire des langues formelles.
La première chose à faire, si on cherche à comprendre c'est de se débarrasser de ses apriori1, accepter que ce que l'on prend pour acquis peut être remis en cause. Si ta question c'est "Pourquoi est-ce qu'ils se trompent ?", tu ne trouvera pas grand monde pour t'aider à trouver une réponse. De temps en temps des gens viendront essayer de dialoguer, mais ça va vite tourner en rond.
Il est systématique dans chacun de tous tes commentaires. Quand tu ne cite pas nommément quelqu'un c'est 2500 ans d'histoires qui sont là pour appuyer ce que tu dis.
c'est très facile à dire et très compliqué à faire, on est d'accord ↩
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Pas convaincu de la démarche
Posté par barmic 🦦 . En réponse au journal Je viens de déposer plainte à la CNIL : mon retour d'expérience.. Évalué à  2.
Non, mais prendre des lettres de mise en demeure c'est stressant et je ne pense pas que c'est linuxfr qui dira le contraire. Ta responsabilité est engagée. Tu te sent face à la Justice avec un grand J. Ce n'est pas pour rien que ça suffit à calmer pleins de site, même quand c'est n'importe quoi.
Je ne pense pas que quand il n'y a pas de dommage physique, il n'y a pas de dommage.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Pas convaincu de la démarche (bis)
Posté par barmic 🦦 . En réponse au journal Je viens de déposer plainte à la CNIL : mon retour d'expérience.. Évalué à  -3.
Ouh! :) Petit menteur ! :p Tout le monde sait que parler de CA pour parler de l'argent que possède une entreprise c'est du mensonge pure et simple. Je n'ai pas trouvé de chiffre plus récent, mais en 2015 s'ils avaient bien 19M de CA, ils étaient en perte de 3M € et cela pour la troisième année consécutive. Je ne vais pas aller voir pour les autres ça ne m'intéresse pas plus que ça.
Ils peuvent probablement embaucher (ils ont des variations de +/-5 personnes dans leurs effectifs), mais faut arrĂŞter de faire dire au CA quelque chose de farfelu.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll