Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Perché usare Python

Quali sono le caratteristiche che fanno di Python un linguaggio da imparare e approfondire
Quali sono le caratteristiche che fanno di Python un linguaggio da imparare e approfondire
Link copiato negli appunti

Oggi esistono numerosi linguaggi di programmazione, ma cosa spinge ad usare Python, cosa c’è di particolare in questo linguaggio? Per rendercene conto, in questa lezione esaminiamo alcuni dei punti di forza di Python ed alcune delle sue applicazioni principali.

Python: i punti di forza

È free

Python è completamente gratuito ed è possibile usarlo e distribuirlo senza restrizioni di copyright. Nonostante sia free, da oltre 25 anni Python ha una comunità molto attiva, e riceve costantemente miglioramenti che lo mantengono aggiornato e al passo coi tempi.

È multi-paradigma

Python è un linguaggio multi-paradigma, che supporta sia la programmazione procedurale (che fa uso delle funzioni), sia la programmazione ad oggetti (includendo funzionalità come l'ereditarietà singola e multipla, l'overloading degli operatori, e il duck typing). Inoltre supporta anche diversi elementi della programmazione funzionale (come iteratori e generatori).

È portabile

Python è un linguaggio portabile sviluppato in ANSI C. È possibile usarlo su diverse piattaforme come: Unix, Linux, Windows, DOS, Macintosh, Sistemi Real Time, OS/2, cellulari Android e iOS. Ciò è possibile perché si tratta di un linguaggio interpretato, quindi lo stesso codice può essere eseguito su qualsiasi piattaforma purché abbia l’interprete Python installato.

È facile da usare

Python è un linguaggio di alto livello che è al tempo stesso semplice e potente. La sintassi e i diversi moduli e funzioni che sono già inclusi nel linguaggio sono consistenti, intuitivi, e facili da imparare, e il design del linguaggio si basa sul principio del least astonishment (cioè della "minor sorpresa": il comportamento del programma coincide con quanto ci si aspetta).

È ricco di librerie

Ogni installazione di Python include la standard library, cioè una collezione di oltre 200 moduli per svolgere i compiti più disparati, come ad esempio l'interazione con il sistema operativo e il filesystem, o la gestione di diversi protocolli. Inoltre, il Python Package Index consente di scaricare ed installare migliaia di moduli aggiuntivi creati e mantenuti dalla comunità.

È performante

Anche se Python è considerato un linguaggio interpretato, i programmi vengono automaticamente compilati in un formato chiamato bytecode prima di essere eseguiti. Questo formato è più compatto ed efficiente, e garantisce quindi prestazione elevate. Inoltre, diverse strutture dati, funzioni, e moduli di Python sono implementati internamente in C per essere ancora più performanti.

Gestisce automaticamente la memoria

Python è un linguaggio di alto livello che adotta un meccanismo di garbage collection che si occupa automaticamente dell'allocazione e del rilascio della memoria. Questo consente al progammatore di usare variabili liberamente, senza doversi preoccupare di dichiararle e di allocare e rilasciare spazi di memoria manualmente (cosa che è invece necessaria in linguaggi di più basso livello come il C o il C++).

È integrabile con altri linguaggi

Oltre all'interprete classico scritto in C (e chiamato CPython), esistono anche altri interpreti che consentono l'integrazione con diversi altri linguaggi. IronPython consente di utilizzare Python all'interno del framework .NET, di usarne le sue funzioni, e di interagire con altri linguaggi .NET. Per poter invece integrare Python e Java è possibile utilizzare Jython. Esistono poi altri interpreti, come PyPy: un'implementazione altamente performante scritta in Python.

Cosa si può fare con Python

Come abbiamo accennato, la dotazione standard e le librerie di terze parti completano Python con funzionalità che lo rendono uno strumento duttile in svariati ambiti.

Programmazione GUI

Con Python è possibile scrivere interfacce grafiche (GUI) usando tutti i maggiori toolkit:

  • Tkinter: già incluso nella standard library e basato su Tcl/Tk.
  • PyQt/PySide: permettono di utilizzare con Python il toolkit Qt (sia la versione 4 che la 5), il framework multipiattaforma storicamente realizzato da Nokia.
  • PyGtk: basato sul popolare toolkit GTK.
  • wxPython: un'interfaccia Python per il toolkit wxWidgets.

I programmi che usano questi toolkit sono in grado di essere eseguiti su tutte le maggiori piattaforme (Linux, Windows, Mac).

Sviluppo Web

Esistono svariate possibilità per lo sviluppo Web sia ad alto che a basso livello. Per realizzare siti ed applicazioni web sono disponibili diversi web framework come:

  • Django: uno dei framework web più popolari, che fornisce diversi strumenti per realizzare siti e webapp.
  • Flask: un "microframework" che permette si creare rapidamente siti semplici.
  • Web2py: un altro ottimo framework facile da usare.

Sono poi disponibili diversi altri web framework che permettono la realizzazione di ogni tipologia di sito e webapp. Il sito ufficiale di Python include un elenco di web framework (completi di una breve descrizione) e una guida che spiega come usare Python bel web.

La piattaforma Google App Engine permette di avviare le proprie applicazioni Web nell’infrastruttura Google. App Engine ha un ambiente runtime Python dedicato, che include l’interprete Python e la libreria standard Python.

Se invece si vuole scendere più a basso livello esistono moduli della standard library come socket, httplib, e urllib, ma anche alcuni framework a supporto della programmazione di rete. Uno fra tutti è Twisted: un potente network engine, event-driven – scritto in Python – che supporta molti protocolli di rete inclusi SMTP, POP3, IMAP, SSHv2 e DNS.

È possibile usare Python anche per accedere ai database. La standard library include un'interfaccia per SQLite ed è anche possibile installare moduli per interfacciarsi con altri database (PostgreSQL, Oracle, MySQL, e altri).

Per la realizzazione di giochi, Pygame è un ottimo framework che ne permette lo sviluppo in modo semplice e intuitivo.

Per realizzare applicazioni scientifiche, SciPy fornisce un ecosistema di tool per la matematica, le scienze e l'ingegneria.

Chi usa Python

Oggi Python viene utilizzato in molte grandi realtà del mercato informatico, tra cui:

  • la NASA usa Python per lo sviluppo di sistemi di controllo;
  • Yahoo! ha sviluppato in Python alcuni servizi di internet;
  • Google, Youtube e RedHat usano Python.

Ti consigliamo anche