Benvenuti su LiDiA (Linguistics of Digital Artifacts)
Questo spazio serve a coordinare la discussone sull'analisi linguistica di codici sorgenti (gli Artefatti Digitali di cui sopra).
Coordinano la discussione
StefanoPenge,
AndreaSterbini ed Andrea Villarini
Questo è un Wiki, potete editarne le pagine
Ma prima
iscrivetevi
- Se volete creare una pagina usate direttamente il box in alto a destra (vai a) e scrivete un nome in CamelCase (parole maiuscole attaccate)
- per cambiare nome ad una pagina usate il link in basso a destra Manutenzione
Utente nuovo? Inesperto? vuoi ulteriori consigli...
- Usa questo link PaginaDiProva per fare tutti gli esperimenti di editing che vuoi senza la paura di scombinare troppo il resto delle pagine!!
- Nella pagina troverai anche ulteriori consigli che potrai visionare tutte le volte che vuoi.
- Buon Lavoro e Buon Divertimento!!
L'idea: analizzare il contenuto stilistico e linguistico del codice sorgente
Si tratta di un progetto di ricerca che incrocia tre discipline: linguistica, informatica e scienze della comunicazione.
Obiettivo del progetto è disegnare i confini e i metodi di una nuova area di ricerca, che applica i metodi e i concetti della linguistica ai linguaggi di programmazione dei computer in una visione trasversale e più ampia che li inserisce nel quadro della attività sociali di comunicazione.
Il progetto può essere descritto come la scoperta di un continente sconosciuto: quello dei codici sorgente dei programmi.
Più di 50 anni di letteratura, più di 50 lingue diverse.
Un corpus di testi dalle dimensioni quantitative enormi (l'archivio su web più noto di software
OpenSource,
Sourceforge
, 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 scientifico.
Un oggetto in cerca di analisi
Il primo passo sarà quello della costituzione dell'oggetto scientifico.
Ci poniamo le domande di ogni ricercatore che scopre un nuovo territorio:
- ha le caratteristiche richieste da un oggetto "linguistico”?
- è interessante scientificamente?
- è possibile sfruttarlo dal punto di vista didattico?
Una professione senza professionisti
Se deve essere studiato, come oggetto scientifico, e diffuso didatticamente, il secondo passo è mettere in campo un'équipe di ricercatori:
- come può essere analizzato? con che tipo di strumenti (quantitativi, qualitativi)? ProposteMetodologiche
- da chi (con quali competenze) può essere analizzato?
- quali risorse sono necessarie? Persone, ambienti, macchine; ma anche relazioni ecc..
I risultati attesi
Il terzo passo è costituito dalla verifica delle prime ipotesi di lavoro:
- si possono evidenziare stili personali, o di scuola, o di periodo, o di area geografica?
- si possono istituire paralleli con le altre storie dei "testi" (con la storia della letteratura, o di un genere particolare, ma anche con la storia della musica, del teatro)?
- sulla base della sua storia, si può prevedere un'evoluzione?
- si può indirizzare un'evoluzione? si possono dare direttive sulla scrittura dei programmi?
Ma prima di tutto occorre fare una ricognizione del territorio, vasto e impervio, degli incroci tra Linguistica e Informatica:
RicognizioneTerritorio.
Spunti di discussione:
- I linguaggi di programmazione: vedi HelloWorld
- Paralleli artistici:
- Poesie scritte in Perl ed altri linguaggi di programmazione, vedi PerlPoetry:
- Immagini artistiche composte con ASCII e altri linguaggi di programmazione: vedi AsciiArt
- Creazione di virus come forma d'arte: vedi BiennalePy
- Leggibilità/illeggibilità del codice: vedi CodiceLeggibile .
- Stile "letterario" di scrittura del codice (in Wikipedia: Literate_programming
), in cui il codice è immerso e circondato nella sua documentazione di analisi funzionale e di documentazione d'uso
- Profilo anagrafico, relazionale e tecnico dell'Hacker: Hacker's Profiling Project (HpP)
- Conteggio delle parolacce nel codice Linux nel tempo
- motore di ricerca su codice sorgente http://www.google.com/codesearch
- software di AnalisiTestuale
Possibili applicazioni
-
- analisi stilistica ed attribuzione della paternità di un codice (Authorship analisys)
- p.es. si usa in campo forense per individuare i responsabili della diffusione di virus
- supporto alla didattica dell'Informatica con correzione stilistica degli esercizi di programmazione degli studenti
- ...