<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2015-07-10 20:16 GMT+01:00 Carlos Catucci <span dir="ltr"><<a href="mailto:carlos.catucci@gmail.com" target="_blank">carlos.catucci@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><span class=""><div class="gmail_extra"><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>Tutti quelli che considerano Python facile da leggere non devono solo considerare il problema "riesco a rileggere il codice che ho scritto" (problema non banale, certi linguaggi falliscono malamente anche questo). Ma devono considerare anche il problema: riesco a leggere facilmente il codice che un altra persona (che potrebbe essere il Franchi in vena di metaprogramming) scrive? La mia esperienza e' *no*. Tanto e' vero che, per dire, sul lavoro mi contengo. </div><div></div></blockquote></div><br></div></span><div class="gmail_extra">Una persona normale, intendo dire un vdeveloper, fa fatica anche a capire la meta' delle cose che dice il Franchi, ovvio che se si mette a programmare ad alto livello, seguendo fili logici che un comune mortale (o una comune mortadella come me) neppure riesce a immaginare nei suoi viaggi dopo avere "tagliato una punta di acido", non capisca una cippa del codice. Pero' codice del Franchi a parte io sono sempre riuscito a leggere e capire piu' o meno al volo codice Python scritto da altri. Non conosco Go (ma voglio studiarlo se solo ho un poco di respiro) per cui non posso dire se sarei capace di leggerlo altrettanto semplicemente. Con Python, nella stessa situazione pero', non ho avuto problemi a leggere il rpimo listato (e non era un fibonacci o simili ma una applicazione complessa).<br></div></div></blockquote><div><br></div><div>Si, in realta' buona parte del mio codice *non* usa (o fa un uso molto limitato) di suddette features, e non faccio passare codice che ne abusa. Il discorso non e' quanto avanzato e' il mio python rispetto a quello del "programmatore medio". </div><div><br></div><div>Il problema e' che "Python e' leggibile" se e solo se non si usano (o abusano) determinate features. Altrimenti e' leggibile per un sottoinsieme ristretto di persone e *soprattutto* non e' il codice che vuoi guardare alle 3 di mattina quando sei stato svegliato perche' l'applicazione e' rotta. Non vuoi farlo se il codice e' tuo, non vuoi farlo se il codice e' di qualcun altro.</div><div><br></div><div>Ma se cominci a dire che "il linguaggio e' leggibile se non usi feature x e y" comincia ad indebolirsi molto il fatto che il linguaggio sia leggibile. Perche' restringendo arbitrariamente il sottoinsieme di linguaggio leggibile, tutto sommato parecchi linguaggi non patologicamente illeggibili diventano "leggibili". E anche alcuni linguaggi patologici. </div><div><br></div><div>Io posso dire che Python sufficientemente vecchio era molto leggibile. Leggibile perche' aveva meno features e soprattutto meno features "complesse". Piano piano le hanno aggiunte, e' tutta roba molto potente e interessante, ma alla fine dei conti e' anche tutta roba che rende il codice relativamente troppo complicato da capire per essere considerato leggibile.</div><div><br></div><div>Il motivo per cui tutto sommato la maggior parte del codice Python la fuori e' sempre considerato leggibile e' che la maggior parte dei programmatori non abusano troppo di queste features (per scelta o per ignoranza). Ma di per se, il problema e' presente.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"></div><div class="gmail_extra">Poi abbi pazienza, lui e' un prof delle superiori, ha come target ragazzi di 14/18 anni che si avvicinano alla programmazione, non un tale che lavora per una non meglio specificata $bigcompany. </div></div></blockquote><div><br></div><div>Si, ma niente da dire su di *lui*. Quello che io sto dicendo e' che *a mio avviso* Go e' piu' leggibile di Python. Almeno per ora. Poi certo, se e quando cominceranno a farcirlo di features fichissime (ma complicate) anche lui sara' molto meno leggibile.</div><div><br></div><div>Insomma, per fare un altro paragone... Haskell e' un linguaggio *estremamente* leggibile. Ha regole piuttosto rigorose sulla formattazione, etc etc etc. Pero'... diciamo che se uno non mastica alcuni concetti relativamente poco intuitivi non si va troppo lontano. Non ho vergogna ad ammettere che spesso e volentieri quando leggo codice scritto da gente che fa Haskell duro non capisco davvero un accidente, ma e' un modo diverso di non capire che cavolo fa rispetto a quando mi danno il classico blobbone da 2000 righe di Perl da riscrivere in qualcos'altro. </div></div><br clear="all"><div><br></div>-- <br><div class="gmail_signature"> .<br>..: -enrico-</div>
</div></div>