Ethan Smith, uno dei principali sviluppatori di MyPyC, il compilatore di moduli Python in codice C, ha annunciato l'aggiunta nel repository di CPython (l'implementazione di base di Python) di modifiche che consentono di compilare il ramo principale di CPython per funzionare all'interno del browser, senza la necessità di patch aggiuntive. La compilazione avviene in un codice intermedio universale a basso livello chiamato WebAssembly utilizzando il compilatore Emscripten.

Il lavoro è stato approvato da Guido van Rossum, il creatore del linguaggio di programmazione Python, che ha inoltre suggerito di integrare il supporto per Python nel servizio web github.dev, che fornisce un ambiente di sviluppo interattivo completamente basato sul browser. Jonathan Carter di Microsoft ha menzionato che attualmente si sta lavorando all'implementazione del supporto per il linguaggio Python in github.dev, ma nel prototipo esistente dell'ambiente di calcolo Jupyter per github.dev è stato utilizzato il progetto Pyodide (compilazione del runtime Python 3.9 in WebAssembly).
Nella discussione è stato sollevato il tema della compilazione di Python con supporto per WASI (WebAssembly System Interface) per utilizzare la rappresentazione WebAssembly di Python senza vincoli nel browser. Si osserva che per realizzare tale possibilità sarà necessario svolgere un grande lavoro, poiché in WASI non è fornita l'implementazione dell'API pthread e in Python è stata interrotta la possibilità di compilazione senza l'inclusione del multithreading.
Fonte: opennet.ru
