Tempo di Lettura: 4 minuti
Tra i miei linguaggi preferiti (Perl, Php e Visual Basic) si sta insinuando piano piano anche un piccolo serpente verde: Python.
Ero alla ricerca di informazioni sulla programmazione ad oggetti e cercavo qualche linguaggio che potesse illuminarmi in materia ma neanche tediarmi con la compilazione e con una sintassi complicata. Inutile dire che la mia scelta è caduta su Python piuttosto che su Java.
Storia
Python è stato creato da Guido Van Rossum, ricercatore di Amsterdam che avendo lavorato ad un progetto di un linguaggio di programmazione con fini didattici di nome ABC, è riuscito a trasferire questa conoscenza in python.
Il nome del linguaggio non ha niente a che spartire con il rettile. Guido Van Rossum oltre ad essere un informatico, è anche un fan del “Monty Python’s Flying Circus”, una serie televisiva apparsa sulla BBC negli anni ’70. Un giorno, mentre pensava ad un nome che fosse breve, unico ed un po’ misterioso, gli capitò di leggere dei copioni della serie… e così decise di chiamare Python il linguaggio da lui creato.
Cosa è
Python viene definito un linguaggio di scripting interpretato, interattivo e orientato agli oggetti. In realtà esso permette sia la programmazione tradizionale (procedurale) che il nuovo paradigma ad oggetti. Quindi python si inquadra nei linguaggi ibridi, come il C++.
Siccome Python è free, in ambiente Windows Python potrebbe anche sostituire Visual Basic, liberandosi da tutti i problemi di licenza.
Inoltre, siccome è stato scritto in ANSI C, è estremamente portabile. Questo ha permesso di scrivere presto un interprete python per le principali piattaforme. Esiste un interprete python per Unix, Linux, MS-DOS, MS-Windows (95,98, NT e 2000), Macintosh, Amiga, BeOS, OS/2, VMS, QNX.
Recentemente è stato scritto un interprete anche in java e anche per sistemi Palmari.
Pensando al fatto che Python è un linguaggio interpretato non è detto che sia lento: infatti python “compila” il proprio codice in un bytecode molto efficiente. Questo permette di raggiungere prestazioni vicine ai linguaggi in codice nativo. Inoltre python implementa molte strutture dati e funzioni come componente intrinseca del linguaggio. Queste strutture sono dette “built-in types and tools” e sono state sviluppate con accurata efficienza.
Python è anche ricco di librerie. Solo la dotazione standard offre numerose librerie alle quali si aggiungono moduli di terze parti che crescono continuamente.
In internet si trova materiale relativo a HTML, PDF, XML, formati grafici, CGI e perfino interi web servers.
Inoltre, analogamente a cio’ che avviene in Java, in python esiste il meccanismo di “garbage collection”, ovvero gestisce la memoria automaticamente.
I vantaggi di questa gestione sono molteplici: p.es. non ci sono limiti ad un numero intero (oltre 32 bit con crescita in base alle esigenze), purchè sia seguito da un carattere “L” o “l” e in base al valore python alloca la memoria necessaria (ricordo ancora il mio primo script python che calcolava all’infinito la Serie di Fibonacci: con mia grande meraviglia non terminava mai!).
In python non è necessario definire le variabili prima di utilizzarle, non è necessario nemmeno assegnare ad esse un tipo. Il tutto avviene implicitamente mediante l’istruzione di assegnamento (=), esattamente come avveniva nel vecchio BASIC e in PHP.
Infine, Python presenta una sintassi pulita e sintetica. L'idea migliore è rappresentata dalla indentazione, che non serve più al programmatore per ordinare meglio il codice, ma diventa l'unico strumento per strutturare il codice
.
E’ solo l’indentazione che permette di strutturare le istruzioni di condizionamento (if else) e quelle dei cicli iterativi (for in, while): non esistono parole che delimitano l’inizio e la fine di un blocco (le parentesi graffe del C o begin e end del Pascal).
Questo permette, ovviamente, un apprendimento più veloce e una maggiore facilità a leggere il codice scritto da altri.
Per completare devo anche ricordare che sono assenti i delimitatori di istruzione (p.es, per il php, il punto e virgola alla fine di ogni istruzione): questo permette una scrittura più veloce del codice e una minore possibilità di errore (quante volte mi dimenticavo di inserirli e passavo molti minuti in un frustrante debugging!).
Tutte queste caratteristiche stanno convincendo molti grandi attori del mercato informatico ad utilizzare python.
Per citarne alcuni:
– Red Hat ha implementato in python il proprio tool di installazione.
– Infoseek usa python nei propri prodotti per la ricerca sul web.
– Yahoo! ha sviluppato in python alcuni servizi di internet.
– La NASA usa python per implementare i sistemi di controllo delle proprie missioni.
ciao, sono un visitatore esterno e anche io sono molto appassionato di Python. Anche io gestisco un blog e guarda caso uso lo stesso template WordPress che stai usando tu 😀
se mi fornisci un antipixel 80×15 vorrei linkarti nel mio blog 😉
ciao, Qbic
salve
Quando ho sentito parlare di python , credevo che fosse un linguaggio di programmazione noioso , di quelli strutturati in modo che pochi ci potessero capire invece mi sono accorto che era come il glorioso basic ma molto piu facile.
Per questo sono contento di usarlo per i miei programmi percio’ lo consiglio e per questo ne parlero nel mio blog http://www.vincevida.blogspot.com