Ho deciso di imparare Python non perché volessi volare ma per la voglia di conoscere un linguaggio interpretato, qualcosa di nuovo che non fosse la solita roba c-like. Ho visto questo linguaggio come supporto a molti altri programmi come Inkscape e Blender che mi hanno fatto intuire che sarebbe tornato sempre utile. Durante lo studio del linguaggio mi sono accorto di quanto fosse davvero interessante, possiede alcune peculiarità che ho trovato formidabili e a volte inusuali.
La prima cosa che salta subito all'occhio è l'indentazione; il linguaggio impone uno stile rigido che ha lo scopo di aumentare la leggibilità di quello che scrivi. In questo modo non c'è bisogno di marcatori come parentesi graffe o parole chiavi per delimitare gli scope. Solitamente ogni statement si conclude con un ritorno a capo, in casi eccezionali possiamo usare il punto e virgola ma possiamo farne sempre a meno.
I nomi delle variabili vengono collegate tramite riferimenti ai dati veri e propri, quindi il vecchio concetto che avevo di variabile come scatola per contenere le mie cose qui viene a mancare. Questa scelta comporta che la semplice copia tra variabili sia di fatto la copia del riferimento, con la conseguenza che le semplice copie per assegnazioni non sono così banali come ero stato sempre abituato. Tutto questo comporta una visibilità delle variabili all'interno degli scope che mi ha basito a primo impatto.
Il linguaggio mette a disposizione un sistema semplice ma efficace per creare e gestire le proprie librerie. Possiamo scrivere il codice e includerlo nei nostri script con una semplice direttiva, oppure organizzare una serie di script in modo ragionato con i package. L'accesso alla libreria può avvenire attraverso un oggetto che porta il nome della libreria stessa, oppure con l'inclusione diretta. Python permette di più, abbiamo la facoltà di scrivere librerie in linguaggio C e includerle direttamente nei nostri programmi!
In tutto questo l'interprete possiede una serie di ottimizzazioni davvero interessanti. Possiamo programmare come più vogliamo, ma se adottiamo delle particolari strategie apriamo un canale diretto con l'interprete che comprende le nostre intenzioni ottenendo così un aumento delle prestazioni.
Python è un bel linguaggio, ha delle caratteristiche particolari che trovo azzeccatissime. Il libro che mi sono fatto consigliare per lo studio si chiama Learning Python pubblicato da O'Reilly. L'autore di chiama Mark Lutz e cura altri libri sempre dedicati a Python, scrive davvero molto bene. Questo libro è per chi si affaccia per la prima volta al linguaggio, non tratta di argomenti particolarmente avanzati ed è un ottimo punto di inizio.