steve's

Ma perché non sono nato là?

Ott
09

La citazione (che dovrebbe essere chiara per chi ha almeno cinquant’anni) è da Claudio Baglioni, ebbene si, “Viva l’Inghilterra”, anno 1973.

Si riferisce al fatto che mi danno (voce del verbo dannare) almeno dal 1999 intorno alla necessità di un’analisi (socio)linguistica del codice sorgente e non trovo un cane disposto ad ascoltarmi. O quasi, come si vede da http://steve.lynxlab.com/?p=73

Invece in USA e in Canada ci lavorano sul serio, dentro l’università, mettendo insieme ricercatori di linguistica e di informatica. E quest’articolo, pubblicato  nei Proceedings di una conferenza annuale del Psychology of Programming Interest Group che si tiene nel’UK, è finalmente (finalmente?) un esempio pratico di un tentativo reale di applicazione di modelli e strumenti sociolinguistici al codice sorgente da parte di un gruppo di ricercatori dell’Università di Lethbridge. Molto minimale ed embrionale, ma insomma esiste.

Schermata da 2016-10-10 21-59-45

Il tema è quello del genere. Si può riconoscere solo leggendo il codice se l’autore è uomo o donna? Pare di si. E che ce ne importa, diranno i miei piccoli lettori. Ci importa, perché come premettono le autrici, è il primo passo per vedere se nel codice ci sono tracce anche della lingua materna, delle conoscenze pregresse di altri linguaggi, del livello sociale o della cultura generale. E allora? Allora è il primo passo per riconoscere che il codice sorgente è un testo, risultato di un’attività di scrittura, e quindi può contenere  tutte le varianti possibili che una scrittura permette: stili, personalità, mode, esperienze trascorse. Non importa che il lessico sia limitato (ma estensibile a piacere) e che la grammatica sia molto restrittiva (ma permette forme alternative). Un programma, definitely, is not just an implementation of an algorithm which solves a problem. Si scrivono programmi per scopi diversi: per gioco, per sfida, per sperimentazione, per produrre un effetto artistico, per imparare. A monte si sceglie il linguaggio in cui scriverli, il che ha un effetto sull’orientamento generale del programma, su come viene letto, come verrà modificato e come sarà punto di partenza per nuovi programmi.

Ne deriva che quando si insegna a scrivere codice, come quando si insegna a scrivere – ma a scrivere bene – non basta insegnare la grammatica e il lessico. Ci vuole molto, moto di più. Ci vogliono buoni esempi (lettura), modelli, obiettivi, strumenti di valutazione. Ne deriva, probabilmente (ma questa è solo una mia ipotesi) che chi legge e scrive molto, programma meglio; che introdurre lo studio di come si crea e sviluppa una storia permetterebbe di ottenere dei codici sorgenti migliori, che come le buone storie “si reggono”. Le buone storie si tramandano nei secoli, come le fiabe; forse è così anche per i buoni programmi.

Rice, J. E., I. Genee, and F. Naz. “Linking linguistics and programming: How to start?(work in progress).” Proc. 25th Annual Psychology of Programming Interest Group Conference-PPIG. 2014.

Sociolinguistica degli artefatti digitali

Mag
30

Questo titolo roboante è anche il titolo di un seminario, a cura del sottoscritto e di Maurizio Mazzoneschi, che si è svolto a Carrara, all’Accademia di Belle Arti il 18 maggio 2010.

La domanda più ovvia è: cosa c’entrano gli artefatti digitali con le belle arti? questo era appunto il contenuto del seminario…

Grazie alla lungimiranza del direttore della Scuola di Nuove Tecnologie dell’Arte, Tommaso Tozzi, è stato possibile condurre questo seminario ibrido alla presenza di alcuni docenti (Enrico Bisenzi e Massimo “Contrasto” Cittadini) e studenti.

Un resoconto molto preciso e completo del seminario si può leggere sul blog ScaccoAlWeb a cura di Enrico Bisenzi http://scaccoalweb.dotblog.it/2010/05/programmare-%C3%A8-come-narrare.html
Materiali relativi al seminario possono essere scaricati da http://ada.lynxlab.com/staff/steve/public/docu/lidia/carrara/.

L’invito al seminario recitava quanto segue:

Siamo alla fine del millennio scorso. Per caso, un esploratore si imbatte in un continente sconosciuto, di dimensioni vastissime. Strade, città e biblioteche, e nelle biblioteche milioni di testi, scritti non in una sola, ma in decine e decine di lingue diverse. Testi diversi di autori diversi, dedicati ai fini più differenti, cortissimi e enormi, scritti a più mani, criptati, fondamentali o inutili.
Scritti per essere usati, per essere letti o  per essere analizzati e insegnati.
Da una prima analisi di questi milioni di testi, sembra di poter dire agli esploratori che ci sono stati periodi, scuole diverse, mode. Che aree diverse del continente hanno prodotto autori riconoscibili, che a loro volta hanno insegnato e influenzato altri autori.
Di tutto questo, niente è mai stato raccontato, né qui da noi né altrove.
Il continente di cui vogliamo parlare è quello dei codici sorgente dei  programmi. Più di 50 anni di letteratura, più di 2000 lingue diverse. Un corpus di testi dalle dimensioni quantitative enormi: l’archivio su web più noto di software OpenSource, SourceForge.net, contiene quasi un milione di “libri” diversi relativi solo agli ultimi 5 anni. Eppure nessun’indagine, nemmeno di ricognizione, è stata condotta finora da un punto di vista linguistico, stilistico, retorico.
Quello che stiamo cercando di fare è trovare un posto a questo continente all’interno della cartografia, accanto ai territori più noti in cui si sono incontrate (persone e) discipline tanto diverse come
linguistica e informatica; poi cercheremo di capire il perché di questo lungo nascondimento, e proveremo a immaginare l’apocalissi, cioè di modi concreti di comunicare la nostra scoperta al mondo.”