|
Description:
|
|
Marco Grandi e Vincenzo Gervasi - Secoli di tradizione tipografica hanno portato al progressivo perfezionamento della composizione di manoscritti di contenuto matematico. In questo tipo di manoscritti, la pagina stampata perde il suo carattere di sequenza lineare di parole in un linguaggio, e assume sempre più quello di tavolozza in cui formule e diagrammi (spesso, realizzati con simboli inventati per l'occasione) sono disposti seguendo logiche strutturali non lineari su tutta la pagina. L'alfabeto utilizzato per esprimere contenuti matematici, lungi dall'essere limitato a poche decine di simboli che poi vengono composti in parole, diventa amplissimo: la notazione matematica è molto più pittografica di quanto non siano i linguaggi naturali, e l'esatta disposizione, scala, stile usato per questi simboli diventa fondamentale per trasmettere il significato inteso in maniera efficiente -- e, perché no, esteticamente gradevole (all'occhio allenato).
Paradossalmente, di questi concetti si è sempre fatto poco uso nel campo della programmazione. I programmi per calcolatore sono praticamente sempre scritti con un alfabeto ridottissimo (molti linguaggi non accettano neanche lettere accentate), e sono composti da lunghe sequenze di codici, a cui solo l'occasionale cambio di margine conferisce un po' di vivacità.
Questa situazione non è passata inosservata, e molti ricercatori (primo fra tutti, Donald Knuth) hanno proposto di utilizzare il cosiddetto "literate programming": scrivere programmi come se si scrivesse un libro, o almeno un articolo scientifico. Questa idea si è però scontrata, fino ad oggi, con i limiti della tecnologia tradizionale.
In questo seminario esploreremo il problema dell'uso della notazione tipografica matematica durante la programmazione, mostreremo quali vantaggi può portare alla comprensibilità dei programmi, e mostreremo alcuni sviluppi recenti in questo campo. |