Ciao, e benvenuto nella seconda puntata della ventiseiesima stagione. Nella scorsa puntata abbiamo detto che Python mette la leggibilità al centro. Oggi vediamo una cosa insolita e affascinante: Python non ha soltanto una filosofia implicita, ma una filosofia esplicita, scritta, dichiarata. Un piccolo insieme di principi, quasi poetici, che guidano il modo in cui il linguaggio è fatto e la cultura di chi lo usa. C'è chi lo chiama, scherzosamente ma non troppo, lo Zen del codice. Oggi capiamo cosa dice, e perché avere una filosofia dichiarata sia una cosa preziosa e rara.
Partiamo dal fatto insolito in sé, perché è raro. La maggior parte dei linguaggi non ha una filosofia scritta nero su bianco: hanno, al più, uno spirito implicito che si intuisce usandoli. Python, invece, ha un piccolo testo, una manciata di principi, che esprimono apertamente i valori a cui il linguaggio si ispira. È come se il linguaggio dicesse, esplicitamente: ecco in cosa credo, ecco i principi che mi guidano. Questa dichiarazione aperta dei propri valori è insolita, e dice molto del carattere di Python: un linguaggio così attento alla chiarezza da mettere per iscritto persino la propria filosofia, perché sia chiara a tutti.
Vediamo, allora, alcuni di questi principi, perché sono il cuore dello spirito di Python, e li racconto con parole mie. Il primo, e più famoso: la leggibilità conta. Non è un dettaglio, è un valore centrale: il codice va scritto perché si legga bene. Un altro: il bello è meglio del brutto. Sì, hai capito: il linguaggio afferma che il codice dovrebbe tendere alla bellezza, all'eleganza, non alla goffaggine. Un altro ancora: il semplice è meglio del complicato. Preferisci sempre la soluzione semplice a quella contorta. E poi: l'esplicito è meglio dell'implicito. Meglio dire le cose apertamente che nasconderle in meccanismi impliciti e furbi.
Voglio soffermarmi su uno di questi principi in particolare, perché è molto caratteristico di Python e riprende un tema del podcast. Il principio dice, più o meno: dovrebbe esserci un modo ovvio, preferibilmente uno solo, per fare una certa cosa. Ricordi, dalla stagione su Go, l'idea che avere un modo solo di fare le cose porti uniformità e leggibilità? Python condivide questo valore: invece di offrire mille modi diversi e furbi di fare la stessa cosa, preferisce che ci sia una via chiara e ovvia, così che il codice di tutti si assomigli e sia facile da leggere. È di nuovo l'idea che la chiarezza e l'uniformità valgano più della furbizia e della varietà. Un modo ovvio, non mille modi astuti.
Voglio farti capire perché avere una filosofia esplicita sia così potente, perché è il vero punto della puntata. Una filosofia scritta e condivisa funziona come una bussola comune: guida chi progetta il linguaggio, mantenendolo coerente nel tempo, e guida chi lo usa, ispirando il modo in cui scrivono il codice. Quando tutti condividono gli stessi principi dichiarati, la leggibilità, la semplicità, la chiarezza, il risultato è una cultura coerente, in cui il codice tende ad avere lo stesso spirito ovunque. La filosofia esplicita crea un'identità condivisa, un senso comune di cosa sia il codice buono. Non è solo un testo poetico: è un collante culturale che tiene insieme il linguaggio e la sua comunità.
Voglio farti apprezzare il contrasto con una storia che abbiamo appena raccontato, perché illumina tutto. Ricordi PHP, della scorsa stagione? Cresciuto in fretta, organicamente, senza una visione d'insieme, e per questo diventato disordinato e incoerente. Python è l'opposto: guidato fin dall'inizio da una filosofia chiara e dichiarata, è cresciuto restando coerente, ordinato, fedele ai suoi valori. La differenza tra un linguaggio con una bussola filosofica e uno senza è enorme: il primo mantiene una direzione e un'identità, il secondo tende a disperdersi. Python mostra la forza di sapere in cosa si crede e di dichiararlo: la coerenza nasce dall'avere principi chiari e condivisi.
Voglio chiudere sottolineando che questa filosofia non è solo una questione di codice, ma quasi di mentalità, perché è profonda. I principi di Python, la leggibilità, la semplicità, il bello, l'esplicito, sono in fondo un modo di pensare al lavoro del programmatore: un invito a scrivere codice chiaro, onesto, elegante, pensando a chi lo leggerà. È una piccola etica del codice, se vogliamo, che va oltre il linguaggio e tocca il modo di essere un buon programmatore. E il fatto che Python la esprima apertamente è un invito, per chi lo usa, a coltivare quella mentalità. Non è solo come scrivere Python: è come pensare bene mentre si programma. La filosofia è anche una scuola.
Per oggi ci fermiamo qui. Python è insolito perché ha una filosofia esplicita, scritta: un piccolo insieme di principi, lo Zen del codice, che dichiara apertamente i suoi valori. La leggibilità conta, il bello è meglio del brutto, il semplice è meglio del complicato, l'esplicito è meglio dell'implicito, e dovrebbe esserci un modo ovvio, preferibilmente uno solo, per fare le cose. Questa filosofia dichiarata funziona come una bussola comune, che mantiene il linguaggio coerente e la sua cultura unita, l'opposto della crescita disordinata di PHP. Ed è anche una piccola etica del codice, un modo di pensare bene mentre si programma. Nella prossima puntata vediamo la scelta tecnica più caratteristica: gli spazi che contano. Nelle note trovi qualche spunto. Se ti è utile, condividila. Grazie per l'ascolto, e ci sentiamo alla prossima.