Gregory Szorc, sviluppatore specializzato in strumenti per Firefox e Mozilla, ha presentato uno strumento particolarmente interessante per chi usa il linguaggio Python, apprezzato e particolarmente adatto per la creazione di applicazioni distribuite, scripting, computazione numerica e system testing. Lo strumento creato da questo sviluppatore semplifica la creazione di programmi Python permettendo il loro uso su Mac, Windows e Linux anche da parte di utenti con nessuna conoscenza di aspetti tecnici.
Python è uno la fama di essere un linguaggio semplice da imparare e per questo viene consigliato come primo linguaggio di programmazione; in virtù della sua semplicità è molto popolare e tra le sue peculiarità le tante librerie a disposizione (codice scritto da altri programmatori per risolvere determinati problemi) nell’ambito della bioinformatica, fisica, matematica, ingegneria, GIS, scienze e più in generale nell’ambito di ricerca.
Il limite di Python è che non esiste un modo semplice per distribuire le app come semplici eseguibili o programmi avviabili senza avere conoscenza del linguaggio stesso. Szorc ha forse risolto questo problema, creando quello il programmatore australiano Russell Keith-Magee ha definito “cigno nero”, una metafora antica che esprime il concetto secondo cui un evento raro, imprevedibile e inaspettato (che può essere positivo o negativo) può cambiare completamente il nostro punto di vista, la nostra vita.
La risposta di Szorc ai problemi di Python si chiama PyOxidizer, strumento in grado di produrre binari che integrano Python, evitando agli utenti la necessità di installare altri strumenti e conoscere ciò che ha a che fare con questo linguaggio. “PyOxidizer è in grado di produrre un singolo eseguibile – con una copia di Python, le sue dipendenze collegate staticamente e tutte le risorse (es. i file . pyc) – incorporando tutto in un eseguibile”, spiega lo sviluppatore nella pagina GitHub dedicata al progetto. “È possibile copiare un file eseguibile da una macchina all’altra e avviare l’applicazione Python contenuta all’interno”.
“Py” sta ovviamente per “Python”, mentre “Oxidizer” è un riferimento a “Rust”, linguaggio di programmazione compilato, multi-paradigma, a uso generico, sviluppato da Mozilla Research, in collaborazione con la comunità open-source. Oxidation è un progetto per l’integrazione di codice Rust con Firefox.
Szorc spiega che la principale caratteristica di PyOxidizer è la possibilità di “produrre un singolo eseguibile che integra un completo interprete Python, estensioni, librerie standard, moduli e risorse dell’applicazione”. Spiega anche che PyOxidizer carica tutto in memoria e non vengono eseguite esplicite attività di I/O rendendo veloce l’esecuzione. Non sono ancora risolte varie problematiche legate alla distribuzione ma Szorc ritiene che grandi app che usano Python quali Dropbox, Kodi, MusicBrainz Picard potrebbero sfruttare il suo strumento per creare eseguibili indipendenti, riducendo le dimensioni di installer, i tempi di installazione e aggiornamento e semplificando il numero di pacchetti da gestire e distribuire.