Python è un linguaggio di programmazione dalla curva di apprendimento molto rapida, grazie alla sua sintassi semplice, alla vastissima libreria integrata ed al fatto che ti costringe, sin dalle prime linee di codice, ad adottare una forma pulita e lineare.
Python è un linguaggio Object Oriented, ma permette anche un iniziale approccio funzionale, in modo da elaborare con calma il più complesso approccio ad Oggetti.
Se vi affacciate per la prima volta al mondo della programmazione, Python è il linguaggio che fa per voi! Ed i motivi sono diversi:
- Come ho già detto ha una rapida curva di apprendimento iniziale
- Permette di metter in pratica rapidamente quello che imparate (insomma, non passerà molto tempo prima di creare la vostra primissima applicazione)
- E’ interpretato: non serve compilare il codice per eseguirlo (trasformarlo in una serie di 0 e 1 per intenderci), ma il vostro codice viene letto da un interprete che esegue all’istante quello che gli date. Questo vi farà risparmiare comunque tempo e noie, soprattutto all’inizio.
- E’ multipiattaforma, quindi non importa se state utilizzando Linux, Windows o OSX… C’è un pitone per tutti!
- E’ parecchio diffuso e sembra diventarlo sempre di più, quindi in rete troverete non solo molta documentazione in merito, ma anche parecchi esempi, snippet, mini-guide, ecc
- La libreria integrata e vastissima e vi mette a disposizione moduli per quasi qualsiasi cosa vogliate fare, senza la necessità di usare librerie esterne.
- E’ Potente e Versatile (ad esempio potete utilizzarlo anche per creare Applicazioni Web con Django)
- Sicuramente ci sono altri motivi, ma sono le 3 di notte e io sono stanco :P
Ora siete convinti che Python è il linguaggio di programmazione che volete imparare? Benissimo, allora vediamo da dove iniziare.
Per prima cosa procuratevi tutto il necessario: se state utilizzando una qualsiasi distribuzione Gnu/Linux probabilmente avrete già Python installato (altrimenti basterà installarlo dal vostro gestore pacchetti); se invece state utilizzando Windows o OSX semplicemente scaricate la versione 2.6 dal sito ufficiale.
Ora dovete studiare (si, vi capisco, sarebbe più bello fare che studiare, ma innanzitutto vi servono le basi teoriche, non solo dello specifico linguaggio, ma soprattutto per quanto riguarda la programmazione in generale).
I testi più utili potete trovarli proprio tra la documentazione proposta sul sito ufficiale, ma, se volete accettare un consiglio, leggetevi soprattutto ‘Pensare da informatico: Imparare con Python’: il testo è un po’ vecchiotto (2002-2003), ma ha il pregio di condurvi per mano, un passo dopo l’altro, verso una maggior comprensione non solo della sintassi di Python, ma anche di quale sia il modo migliore di ragionare.
Bene, ora che avete letto il libro non sapete quasi niente e, soprattutto, non sapete fare quasi niente: non preoccupatevi, è normale, come quando avete preso la patente e siete usciti dalla motorizzazione incapaci come lo eravate prima di aver in tasca quel fogliettino rosa.
E’ il momento di imparare facendo!
Probabilmente avrete già scritto qualche riga di codice durante la lettura del libro, ma quello che dovete fare ora è pensare ad un programma che vi piacerebbe creare (mi raccomando, puntate bassi: niente interfacce grafiche o cose troppo complicate) e cominciare a scriverlo…
Ogni problema che incontrerete, ogni dubbio che avrete sarà il capito successivo del vostro personalissimo manuale di Python!
Le risposte potrete chiederle a Google, che sarà ben lieto di accontantarvi, oppure, nel caso neppure lui sia in grado di illuminarvi, potrete provare a chiedere sul canale IRC #python.it di irc.freenode.com, dove persone gentilissime e simpaticissime saranno ben felici di dedicarvi qualche minuto (magari io stesso).
Per farvi un esempio, dopo aver letto il libro che vi ho consigliato, ho deciso di creare un programmino che mi permettesse di verificare ‘empiricamente’ il Paradosso di Hall. Se non sapete di cosa sto parlando, vi spiego rapidamente: supponete che, durante uno spettacolo di magia, il prestigiatore vi metta davanti a 3 scatole, sotto una delle quali si nasconde una banconota da 10€; se indovinate la scatola allora vincente ed il premio è vostro. Una volta scelta la scatola il mago apre una delle due rimanenti, mostrandovi che è vuota e chiedendovi se volete cambiare la vostra scelta. Per quanto possa sembrare strano (infondo ogni scatola aveva il 33,(3)% di probabilità di esser quella corretta e, se poi vi trovate a scegliere tra due, dovreste aver il 50% di probabilità di azzeccare), nel caso voi decidiate di cambiarla avrete il 66,(6)% di probabilità di vincere. Non vi spiegherò perché, anche se vi accorgerete che è ovvio ragionandoci un attimo.
Per verificare empiricamente questo paradosso ho creato un semplice script in Python, non usando il paradigma ad Oggetti ma quello Funzionale (oltretutto facendolo anche male), ma quello che conta è che mi sono trovato costretto a cercare in internet come funziona il modulo random per creare numeri semi-casuali, il modulo optparse per far si che si potesse specificare come parametro del programma il numero delle ripetizioni, ecc ecc
Inoltre ho avuto occasione di leggere codice scritto da altri, imparando come utilizzare determinati comandi, come risolvere determinati problemi, come meglio organizzare il mio codice, e via dicendo…
Successivamente basterà alzare il tiro, cercando di creare applicazioni sempre più complesse (o migliorando quella su cui avete cominciato).
Il vero apprendimento, quindi, si fa sul campo, come in ogni cosa. Questo è l’unico modo di imparare davvero: provando!
Buona programmazione a tutti :D
Cosa mi hanno Scritto Ultimamente