Python - sito ufficiale della comunità italiana
Usa Python per...
- Sviluppo Web
- Bottle, Webpy, Flask, Django, Turbogears, Zope, Plone, Twisted, CGI, Socket
- Accesso ai database
- ODBC, Oracle, MySQL, PostgreSQL, SQL Server, SQLite
- Applicazioni desktop
- TkInter, wxPython, PyQt, PyGtk, GenroPy
- Giochi e grafica 3D
- PyGame, PyKyra, 3D Rendering
- Calcolo scientifico e numerico
- Bioinformatics, Physics
La AFNIC usa Python
...insieme a molti altri.
Python è un linguaggio di programmazione dinamico orientato agli oggetti utilizzabile per molti tipi di sviluppo software. Offre un forte supporto all'integrazione con altri linguaggi e programmi, è fornito di una estesa libreria standard e può essere imparato in pochi giorni. Molti programmatori Python possono confermare un sostanziale aumento di produttività e ritengono che il linguaggio incoraggi allo sviluppo di codice di qualità e manutenibilità superiori.
Python gira su Windows, Linux/Unix, Mac OS X, OS/2, Amiga, palmari Palm e cellulari Nokia; è stato anche portato sulle macchine virtuali Java e .NET.
Python è distribuito con licenza Open-Source approvata dalla OSI: il suo utilizzo è gratuito e libero anche per prodotti commerciali.
Leggi altre informazioni o prova Python ora!
Python si semplifica: arrivano i frozendict e addio alle "dead batteries"
Tra le novità più interessanti emerse nelle ultime versioni troviamo due cambiamenti che, pur non facendo rumore come il JIT o il no GIL, raccontano molto bene la direzione che Python sta prendendo.
Da un lato, è stata accettata una proposta (PEP 814) per introdurre finalmente i cosiddetti "frozendict" direttamente nel linguaggio (dalla versione 3.15). Come suggerisce il nome, si tratta di dizionari immutabili, ovvero strutture dati simili ai classici dict ma che, una volta creati, non possono essere modificati. Un concetto già presente in Python con i frozenset, ma che finora mancava per i dizionari. È una funzionalità richiesta da anni, soprattutto in contesti dove l’immutabilità è importante, come nella programmazione funzionale, nella gestione delle configurazioni o come chiavi in strutture dati più complesse.
Dall'altro lato, Python sta portando avanti un lavoro meno visibile ma altrettanto importante: la rimozione delle cosiddette "dead batteries". Con questo termine si indicano moduli della standard library ormai obsoleti, poco utilizzati o mantenuti con difficoltà. Nelle versioni più recenti, in particolare Python 3.14, molti di questi componenti sono stati definitivamente rimossi. Il risultato è una libreria standard più snella, più sicura e più facile da mantenere.
Questi cambiamenti raccontano una direzione chiara: Python non sta solo aggiungendo nuove funzionalità, ma sta anche cercando di diventare un linguaggio più pulito, moderno e coerente.
Meno legacy, più chiarezza, ed è proprio per questo (o anche per questo) che dopo più di 30 anni, Python continua a restare così rilevante.
Python diventa sempre più veloce: cosa sta cambiando davvero
Dalla versione 3.11 in poi, Python ha iniziato a ricevere miglioramenti significativi in termini di performance, grazie a una serie di ottimizzazioni dell’interprete che stanno rendendo il linguaggio sempre più competitivo anche in scenari dove prima non era la scelta ideale.
Secondo i dati ufficiali del team Python, Python 3.11 ha introdotto miglioramenti medi intorno al 10-60% rispetto alla versione 3.10, grazie a un nuovo interprete più efficiente e a tecniche come l’adaptive specializing interpreter.
Le versioni successive, come 3.12, 3.13 e 3.14, hanno continuato su questa strada, lavorando su:
- ottimizzazione dell’esecuzione del bytecode
- miglior gestione della memoria
- riduzione dell’overhead nelle chiamate di funzione
- miglioramenti nelle strutture dati interne
In molti casi reali, questi interventi si traducono in applicazioni sensibilmente più rapide, senza richiedere modifiche al codice esistente.
Ma le novità più interessanti riguardano due cambiamenti strutturali molto importanti.
Il primo è il superamento del Global Interpreter Lock (GIL).
Con Python 3.13 è stato introdotto ufficialmente il supporto al cosiddetto “free-threading”, ovvero una modalità opzionale dell’interprete che permette di eseguire codice Python senza il GIL.
Questo non significa che il GIL sia sparito: la modalità tradizionale resta quella predefinita, soprattutto per garantire compatibilità con l’ecosistema esistente.
Tuttavia, il fatto che il supporto sia ora parte ufficiale del linguaggio segna un passaggio storico: Python può finalmente evolvere verso un vero parallelismo multi-thread anche nelle applicazioni CPU-bound.
Il secondo elemento chiave è l’introduzione iniziale di un JIT compiler (Just-In-Time).
Sempre a partire da Python 3.13, sono state introdotte le basi per un sistema di compilazione JIT che permette di ottimizzare dinamicamente l’esecuzione del codice.
Il JIT è una tecnologia già utilizzata in linguaggi come Java e JavaScript, e consente di tradurre parti di codice in forma più efficiente durante l’esecuzione, migliorando le performance senza interventi manuali da parte dello sviluppatore.
Anche in questo caso siamo nelle prime fasi, ma il potenziale è enorme: combinato con le altre ottimizzazioni, il JIT rappresenta uno dei tasselli fondamentali per rendere Python sempre più competitivo anche in termini di velocità pura.
In altre parole, Python non sta solo diventando più veloce, sta cambiando profondamente il modo in cui viene eseguito. E, fatemelo scrivere con un po' di orgoglio, per una volta, migliorare le performance non significa scrivere codice più complesso.
Significa semplicemente aggiornare Python.
Python domina sempre di più l’AI
Secondo diversi report sullo sviluppo software e sull’ecosistema AI, oltre il 70–80% dei progetti di machine learning utilizza Python come linguaggio principale.
Insomma: se l’AI fosse una città, Python sarebbe probabilmente il sistema di trasporto pubblico.
Perché proprio Python? La risposta è abbastanza semplice: l'ecosistema.
Negli ultimi anni si è creato un insieme di librerie e framework che rendono Python estremamente efficace per lavorare con dati e modelli di AI.
Tra i più utilizzati troviamo:
- TensorFlow
- PyTorch
- scikit-learn
- pandas
- NumPy
Queste librerie permettono di passare dall’analisi dei dati alla costruzione di modelli complessi senza cambiare linguaggio.
E questo, per ricercatori e sviluppatori, è un enorme vantaggio, anche le Big Tech puntano su Python.
Gran parte degli strumenti più importanti nel campo dell’AI sono progettati con Python come interfaccia principale.
Aziende e laboratori di ricerca lo utilizzano per:
- addestrare modelli di machine learning
- costruire pipeline di dati
- sviluppare applicazioni AI
- creare prototipi rapidamente
Ma non era “troppo lento”? Questa è una delle obiezioni più comuni.
Python non è il linguaggio più veloce, ma nel mondo dell’AI spesso la velocità viene gestita dalle librerie sottostanti, scritte in C, C++ o CUDA.
Python diventa quindi una specie di direttore d’orchestra:
- il codice Python coordina
- le librerie ottimizzate fanno il lavoro pesante
Risultato: produttività altissima senza sacrificare troppo le prestazioni.
Il futuro: Python sempre più centrale. Con l’esplosione dell’AI generativa e del machine learning applicato, Python sembra destinato a restare al centro dell’ecosistema per parecchio tempo.
Nuovi strumenti, framework e librerie continuano a nascere proprio attorno al linguaggio e se il trend continuerà così, la domanda non sarà più: "Python è usato nell’AI?" ma piuttosto "Esiste ancora AI senza Python?"
Python potrebbe cambiare numerazione delle versioni (e farci smettere di contare)
Per evitare questi piccoli drammi matematici, nella comunità Python è comparsa una proposta interessante: cambiare il sistema di numerazione delle versioni. L’idea arriva dalla PEP 2026, che suggerisce di adottare il Calendar Versioning (CalVer).
Tradotto: smettiamo di contare e usiamo direttamente l’anno.
Ma come funzionerebbe? Invece delle classiche versioni: Python 3.12, Python 3.13, Python 3.14 ... potremmo avere qualcosa del tipo:
-- Python 3.26 → rilasciato nel 2026
-- Python 3.27 → rilasciato nel 2027
-- Python 3.28 → rilasciato nel 2028
Quindi niente più dubbi esistenziali: se vedi Python 3.26, sai immediatamente che arriva dal 2026.
Il motivo è semplice: rendere le versioni più intuitive da capire. Chi lavora in azienda o gestisce infrastrutture spesso si trova a chiedersi:
-- questa versione è recente?
-- è ancora supportata?
-- devo aggiornare ... ieri?
Con una numerazione basata sull’anno, la risposta diventerebbe molto più immediata.
Se ti stai preoccupando: no, Python non diventerà improvvisamente Python 2026 Ultra Mega Edition seguita da Python 2027 Alabarda Spaziale Edition.Il ciclo di rilascio rimarrebbe lo stesso:
-- una nuova versione ogni anno
-- circa 5 anni di supporto
Cambierebbe solo il numero stampato sulla scatola. Come ogni proposta che riguarda Python, anche questa ha già acceso un bel po’ di discussioni. C’è chi pensa che sia: "Più chiaro, più moderno, più facile da gestire" e chi invece dice: "Abbiamo già imparato a contare fino a 3.14, non fatemi ricominciare."
Per ora la proposta è ancora in discussione, quindi non è certo che vedremo davvero Python 3.26 nei prossimi anni.
Nel frattempo… Una cosa però è sicura: che si chiami Python 3.15 o Python 3.26, continueremo comunque a fare quello che facciamo sempre:
-- scrivere codice
-- installare dipendenze
-- ...e litigare con gli ambienti virtuali.
La vera "tradizione" Python non cambia mai.
Pythonisti tocca a voi!
Eccovi il link e sondaggiate numerosi.
