Tra gli utilizzatori mondiali ci sono molte realtà importanti del settore dell’informatica come la NSA, che lo utilizza per sviluppare i suoi sistemi di controllo, Google, Yahoo!, RedHat e Youtube. Vediamo i suoi punti di forza e le sue principali applicazioni.
Un linguaggio multi-paradigma
Python è un linguaggio “multi-paradigma”, che permette la programmazione procedurale e quella di oggetti. Nel primo caso vengono usate le funzioni, mentre nel secondo sono incluse alcune funzionalità come l’overloading degli operatori, l’ereditarietà singola e il duck typing.
Oltre a questo il Python supporta elementi come generatori e iteratori che fanno parte della programmazione funzionale. Essendo un programma del tutto gratuito si può distribuire senza problemi di copyright e usarlo altrettanto facilmente. La comunità che lo utilizza è molto attiva e nel tempo riceve tutti gli aggiornamenti e le migliorie che vengono elaborate.
Può essere usato su molte piattaforme, da windows a Linux, DOS, Unix, OS/2, Macintosh e anche su smartphone sia iOS che Android. Questa multifunzionalità è resa possibile in quanto Python è un linguaggio “interpretativo” e quindi può essere usato su tutte le piattaforme sulle quali è stato installato l’interprete Python.
Facile da usare e ricco di librerie
Pur essendo un linguaggio potente e di alto livello, Python è anche semplice, grazie ad una sintassi intuitiva e facile da apprendere, così come i diversi moduli e funzioni. Il design del linguaggio è basato su un principio denominato “least astonishment”, minor sorpresa, in quanto il suo comportamento coincide sempre con quello che l’utente si aspetta.
Un altro punto di forza del linguaggio è la ricchezza delle sue librerie, tra le quali la “standard library”, una collezione di più di 200 moduli, che permette di svolgere i più diversi compiti, uno dei quali è la gestione di protocolli diversi e un altro l’interazione sia con il filesystem che con il sistema operativo. Oltre a questo, grazie al Python Package Index gli utenti possono scaricare e installare moltissimi moduli aggiuntivi, ideati e mantenuti aggiornati da altri utenti che fanno parte della comunità.
Python è integrabile con altri linguaggi e in grado di gestisce la memoria in modo automatico, adottando un meccanismo chiamato “garbage collection”. In questo modo il programmatore può usare liberamente delle variabili senza dichiararle, che saranno allocate automaticamente. Tra i linguaggi integrabili si segnalano IronPython, Jython e PyPy. Il linguaggio Python permette anche di accedere ai database e rende possibile installare dei moduli di interfaccia con PostgreSQ, MySQL, Oracle e altri.