Percorso: ilMac.net > Scuola di Mac > Corsi > Programmare con Python


Programmare con Python

3 - Nella testolina del rettile


Coraggio, il meglio è passato
Ennio Flaiano

Di che famiglia sei?

Non è male a questo punto cercare di capire come Python funzioni, perché questo ci pemetterà di allargare ulteriormente le nostre conoscenze sulla programmazione. Digitiamo questo:

print "Quindici uomini, quindici uomini"
print "sulla cassa del morto"
print " Iaooooo! Iaooooo!"
print "e una bottiglia di rhum!"

Quindi "Run"; appare questo:


A destra è visibile la funzione per ripulire la finestra di output. Ma a noi interessa altro.
Quando Python è chiamato ad eseguire un programma (già, perché voi state già programmando!), legge la prima riga, quindi la esegue. Cioé stampa ("print" appunto), sullo schermo quanto gli avete dato in pasto. Poi, passa alla riga successiva e così via, finché non termina il programma. Questa alternanza di lettura ed esecuzione, è tipica dei linguaggi interpretati (come Python appunto).

Di che razza sei?

Magari tutto questo potrebbe anche interessarvi poco. Ma non è male cercare di capire quali sono i pregi e i difetti che contraddistinguono queste due grandi famiglie. Che essenzialmente sono 2: i linguaggi di alto livello e quelli di basso. Perl, Java, C, C++ (e Python), fanno parte della combriccola dell'alto livello. Quelli di basso non ci interessano minimamente; e infatti li tralasciamo per non confondere troppo le idee.
Torniamo perciò ai linguaggi di alto livello.
Costoro si dividono essenzialmente in 2 grandi sotto-famiglie (se così possiamo dire): i linguaggi interpretati e quelli compilati. Nel primo caso c'è bisogno di un interprete che legge una parte del programma, la esegue, torna a leggere un'altra parte del programma, esegue anche questa e così via, finché non termina il processo. Quelli compilati (vedi il C, il FORTRAN, anche il Cobol, il C++), sono invece compilati. Per evitare di annoiare, diremo che i linguaggi compilati necessitano di un compilatore (da cui il nome), che traduce il programma di alto livello (cioé il codice sorgente), in basso livello (che così diventa codice eseguibile).

Pregi e difetti

La domanda capita a fagiolo: quali sono i pregi e di difetti dei linguaggi compilati e di quelli interpretati? Questi ultimi, hanno dalla loro la portabilità. In pratica, possono essere eseguiti su qualunque piattaforma con poche o nessuna modifica. Viceversa, quelli compilati girano solo sulla piattaforma sulla quale sono stati concepiti. Sono più difficili da imparare. Ma questi dalla loro parte hanno il vantaggio delle prestazioni; generalmente eccellenti.

La verità

In verità sino ad ora vi ho mentito. Python non è un linguaggio interpretato: l'ho detto per tagliar corto. Come il suo collega Java utilizza sia la compilazione che l'interprete. In pratica (cercherò di renderla più semplice possibile), il rettile legge il programma, lo compila (o meglio lo traduce), in un formato definito byte-code, indipendente dalla piattaforma. Il byte-code viene quindi inviato alla Python Virtual Machine, che esegue (o interpreta), le righe di codice. Perciò la sua definizione esatta è linguaggio pseudocompilato.
Perché non l'ho detto prima? Perché sareste scappati via come razzi spaziali. E poi, diciamocelo: ciò che ho appena spiegato (e mi auguro che qualcuno lo abbia compreso), serve esclusivamente a chi è già un programmatore navigato. Per tutti gli altri (compreso il sottoscritto, che non è programmatore), basta sapere che Python è facile da usare. E basta.

Lezione successiva

Data di pubblicazione: 29-07-2005

L'intero contenuto di questo sito è © dal 1998 del Team di ilMac.net, è vietata ogni riproduzione senza il consenso scritto da parte degli autori.