URL: https://linuxfr.org/users/glandos/journaux/la-programmation-concurrente-en-mode-goto Title: La programmation concurrente en mode Goto Authors: Glandos Date: 2018年06月08日T10:19:15+02:00 License: CC By-SA Tags: coroutine, thread et goto Score: 40 Bon, attention, il y a des gens qui se prennent pour Dijkstra dans ce journal. À la base, je suis tombé sur cet article de [Sam & Max](http://sametmax.com/go-to-in-asyncio-considered-harmful/) qui parle de [Trio](http://trio.readthedocs.io/en/latest/). Jusque-là, on reste dans l'écosystème Python. En fait, l'auteur de cette bibliothèque a écrit [le fond de sa pensée](https://vorpus.org/blog/notes-on-structured-concurrency-or-go-statement-considered-harmful/) : la programmation concurrente actuelle, qu'elle soit en coroutine, ou en thread pose les mêmes problèmes que l'utilisation du goto à ses débuts. ![Vue schématique d'un bon vieux goto et d'un go (goroutine)](https://vorpus.org/blog/notes-on-structured-concurrency-or-go-statement-considered-harmful/go-schematic-and-go-to-schematic.svg) La lecture est longue mais intéressante. Parce que je suis convaincu, pour avoir utilisé `asyncio` que ça peut très vite ressembler à du code spaghetti. Je ne peux pas vraiment juger de la solution apportée par Trio. Ça utilise les structures de contrôle de ressources (`with ... as` en Python) pour s'assurer de la linéarité de l'exécution par rapport au code source. Ça fait évidemment plus propre à première vue. Et évidemment, ce n'est pas aussi souple que de lancer des tâches parallèles dans tous les coins, mais c'est justement le but : avoir une structure de code plus claire, et plus hiérarchique. Et je sais que je vais profiter des commentaires intéressants, merci à vous !

AltStyle によって変換されたページ (->オリジナル) /