Marco Ippolito wrote: > A settembre, elettrizzato dalla possibilità che si potesse lavorare > come in node anche in python in modalità asincrona,
"come in node"?!? Cosa devono sentire le mie orecchie. :-P La programmazione asincrona è vecchia come il cucco. In Python potevi usarla fin dagli anni '90 con asyncore nella libreria standard [1]. La v.1.0 di Twisted [2] è del 2002. L'ho usato con ottimi risultati dal 2003 al 2007. La v.1.0 di Tornado [3] è del 2010. Oggi forse userei quello piuttosto che Twisted, se non usassi altro. :-P La v.1.0 di node.js non è ancora uscita, si limitano a scrivere "stable" di fianco a versioni 0.x. Che dire, complimenti. Firmato: il vostro amichevole Storico di Quartiere. > mi sono messo a capire async-requests ed asyncio. Risultato: non ho > capito molto come funzionano, ma penso di aver intuito che sono molto > lontani dalla semplicità d'uso ed efficacia del modello asincrono di > node.js Curioso, avevo l'impressione che fosse esattamente la stessa foresta di callback, tanto che ultimamente è tutto un fiorire di Promise, Future e compagnia cantante. Twisted ha avuto le inline callback fin dai primi anni, per esempio. > ecco quanto mi ha scritto uno degli sviluppatori di asyncio: "you > don't have a full understanding of how asyncio functions, which is > understandable because asyncio is a nightmare of complexity. Preoccupante che uno degli sviluppatori sia così intimorito. Chi è costui? > You cannot drop a random library into an asyncio project and expect it > to function correctly. The project needs to have been written from the > ground up to understand asyncio, or at least to have been wrapped in > asyncio goodness. Questo è il problema comune della programmazione asicrona, che la rinchiude in una specie di ghetto. Almeno in Python. ;-) [1] <https://docs.python.org/2/library/asyncore.html> [2] <https://twistedmatrix.com/> [3} <www.tornadoweb.org/> -- Nicola 'tekNico' Larosa <http://www.tekNico.net/> If you've spent years learning tricks to make your multithreading code work at all, let alone rapidly, with locks and semaphores and critical sections, you will be disgusted when you realize it was all for nothing. If there's one lesson we've learned from 30+ years of concurrent programming, it is: /just don't share state/. - Pieter Hintjens, 2013 _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python