sabato, ottobre 23, 2010

Settimana dura, post corto

Questa e' stata una settimana un alquanto dura, e sto riuscendo solo ora a portarmi un po' a pari con l'arretrato: ho avuto un bel po' di programmazione da fare, e in piu' ho dovuto preparare una presentazione per un seminario che terro' la prossima settimana a George Mason. Le scadenze per la conferenza interna all'azienda e per l'abstract del JSM sono la settimana prossima, ma io non ho ancora iniziato (ergo, non sono ancora in pari).

Non sono ancora riuscito a reinstallare da quando ho il computer nuovo, ma in compenso ho imparato un po' di cose nuove su SAS macro language (che continuo a non sopportare). Mi sono anche risoluto a prendere version control piu' seriamente (lo so Matteo, avrei dovuto farlo anni fa), e ho scoperto in modo un po' casuale un sito di programmazione di base, che consigliero' a qualche collega (e a me, sara' la volta che finalmente imparo a usare python).

Un'altra cosa che ho scoperto riguarda il Giappone. Mi avevan detto che i giapponesi sono bravissimi nel rappresentare informazioni, ma solo ora che sto aiutando mia cognata ad organizzare il suo viaggio in Giappone me ne rendo conto: confrontate l'eleganza e chiarezza delle instruzioni per arrivare a questo albergo di kobe (http://www.portopia.co.jp/en/location/index.html) con, ad esempio, quelle per l'aeroporto di Cagliari (http://www.aeroportodicagliari.com/come_raggiungere_cagliari.htm). Notate come i vari mezzi pubblici abbiano simboli diversi da quelli delle stazioni, e come si possa usare la pagina per avere un sensazione a grandi linee del viaggio e delle distanze, oppure per ottenere informazioni dettagliate su prezzi e tempi di percorrenza. Ho anche chiamato l'albergo per chiedere informazioni, e devo dire che la consierge e' stata fenomenale, quasi come se si fosse studiata le mie domande con grande anticipo. Quando ho visto la mappa, mi sono tornate alla mente molte parole di Edward Tufte (http://www.edwardtufte.com/tufte/).

Dato che sono in vena di citazioni, ve ne lascio con una che tocca sia l'argomento della programmazione, sia quello dell'importanza di estetica e chiarezza anche nella comunicazione tecnica:


Donald Knuth. "Literate Programming (1984)" in Literate Programming. CSLI, 1992, pg. 99.

I believe that the time is ripe for significantly better documentation of programs, and that we can best achieve this by considering programs to be works of literature. Hence, my title: "Literate Programming."
Let us change our traditional attitude to the construction of programs: Instead of imagining that our main task is to instruct a computer what to do, let us concentrate rather on explaining to human beings what we want a computer to do.
The practitioner of literate programming can be regarded as an essayist, whose main concern is with exposition and excellence of style. Such an author, with thesaurus in hand, chooses the names of variables carefully and explains what each variable means. He or she strives for a program that is comprehensible because its concepts have been introduced in an order that is best for human understanding, using a mixture of formal and informal methods that reinforce each other.


2 commenti:

Enrico ha detto...

Passa anche tu a stata (oppure R). Ti cambiera` la vita :)

Antonello ha detto...

R e' il mio linguaggio preferito. Uso SAS se devo lavorare su infrastrutture costruite con SAS, cosi' non devo poi tradurre da propotipo a modello finale. Inoltre, la maggior parte degli archivi con cui lavoro sono basati su file SAS, o su database relazionali che si interfacciano bene con SAS. R sta migliorando a vista d'occhio la sua capacita' di interfacciarsi a databases e lavorare su grossi datasets, ma fino a poco tempo fa, molti dei file su cui devo lavorare erano semplicemente troppo enormi per R. Non conosco Stata, ma so che e' molto usato nelle scienze sociali. Ma ha un'interfaccia ODBC?