Le Interviste di Nestoria - Stefano Rodighiero & Michele Beltrame - Perl.it
Questo mese abbiamo il piacere di parlare con Stefano Rodighiero e Michele Beltrame, due dei principali esponenti della comunita' italiana degli sviluppatori di Perl. Perl e' un linguaggio di programmazione ampiamente utilizzato nel web. E', inoltre, il principale linguaggio su cui e' costruito Nestoria. Stefano si divide tra Italia, Spagna e Sud America, ed e' autore di Pocket Perl. Michele e' fondatore di Italpro e di Michele Beltrame Editore. Scirve inoltre regolarmente su The Cattle Grid.
Stefano, Michele, grazie per aver trovato il tempo di parlare con noi
1. Innanzitutto un po' di background. Raccontateci un po' dello sviluppo della comunita' Perl in Italia.
MB: Beh, diciamo che l'idea di community vera e propria e' nata indicativamente nel 2000, prima di quell'anno c'era un gruppo di programmatori indipendenti che si scambiavano idee e consigli in un newsgroup. La nascita dei primi gruppi di Perl Mongers (come l'ormai defunto Venezia.pm) non e' stata tra le piu' semplici, poiche' si faceva molta fatica a trovare programmatori Perl che davvero avessero voglia di essere parte di una community, forse anche perche' magari era difficile intravederne i benefici a quel tempo. I primi gruppi di reale successo sono stati, a partire dal 2001, Nordest.pm, Roma.pm e Pisa.pm, i membri dei quali hanno iniziato ad incontrarsi di persona e quindi a mettere le basi di una comunita'. Come c'e' da aspettarsi, l'evoluzione si e' avuta principalmente su Internet, con la creazione del canale IRC #perl.it (che un tempo si chiamava #nordest.pm), della mailing list mongers-it, e soprattutto del sito www.perl.it, che al momento costituisce il punto di riferimento de-facto a livello italiano per quanto riguarda questo linguaggio. Inutile nascondere che il sito e' probabilmente, al momento, il nostro risultato migliore, in quanto contiene articoli, documentazione tradotta, tutorial, e tutto quanto ci si puo' aspettare da un sito dedicato ad un linguaggio di programmazione.
Dal 2004 in poi e' iniziata l'organizzazione dei workshop, tenutisi sempre a Pisa. Le prime 3 edizioni sono state di buon livello e di discreto successo, ma con quella del 2008 c'e' stato il salto: 120 partecipanti, speaker da 5 nazioni, due tracce (una base ed una avanzata) per due interi giorni, WiFi gratuito, caffe' e pasticcini anch'essi gratuiti (e molto graditi), ... Inutile nascondere che siamo particolarmente orgogliosi del nostro workshop, che sta diventando un appuntamento fisso a cui molti membri della community italiana non vogliono piu' sottrarsi (anche se alcuni li facciamo comunque lavorare, quantomeno per spostare un po' di tavoli ;-)), e al quale partecipano sempre nuove persone.
C'e' ancora molto da fare, e potrei dire tanto sul futuro (come ad esempio la nostra ferma intenzione di proporre l'Italia come sede per YAPC:EU 2010), pero' in questo momento penso di volermi fermare un attimo per guardare cio' che e' nato in questi anni: mattone su mattone e' stato costruito un solido gruppo di persone, alcune delle quali ora sono fra loro prima di tutto amici e poi programmatori; c'e' inoltre un costante scambio di idee ed anche di opportunita' di lavoro non solo in occasione dei workshop, ma anche quotidianamente nei vari mezzi "virtuali" che utilizziamo per tenerci in contatto. Penso ci sia di che essere soddisfatti, chiaramente ben sapendo che dobbiamo considerare questo un punto di partenza per costruire altro ancora.
SLR: I prossimi passi: stiamo preparando per www.perl.it una sezione di success story italiane, rivolta soprattutto ai cosidetti decisori, che potranno trovare fatti documentati che mostrano come sia ragionevole avvalersi della tecnologia Perl per i propri progetti.
Inoltre, da sempre, incoraggiamo tutti a cimentarsi nella scrittura di contributi per il sito. Non e' necessario essere dei guru: anche un principiante puo' produrre un articolo interessante e utile per chi si avvicina al linguaggio. La squadra dei revisori e' inoltre pronta ad aiutare, quindi se avete un'idea fatevi avanti.
2. Cos'e' che, a vostro avviso, rende perl diverso dagli altri linguaggi di programmazione?
SLR: La vera differenza a mio avviso e' prima di tutto tra i linguaggi cosidetti dinamici e non. Si possono fare cose molto serie anche senza lasciare un calcolatore a compilare codice per ore. Perl, in particolare, fornisce una grande liberta' al programmatore, in molti modi. E' uno slogan che a volte mi e' sembrato astratto (liberi da cosa? liberi di fare cosa?), ma ha risvolti in realta' molto pratici.
Si e' liberi di scegliere, ad esempio, di imparare solo un sottoinsieme del linguaggio, senza perdere la possibilita' di diventare produttivi in poco tempo: sto pensando alla diffusione di Perl come linguaggio di scripting. Oppure si puo' scegliere di adottare Perl come strumento principale per le proprie applicazioni, e in questo caso CPAN fornisce uno sterminato insieme di soluzioni per realizzare il proprio progetto: l'utente causale forse non immagina la quantita' di moduli liberamente usabili, gia' pronti, documentati e testati. Per divertimento, si possono tentare esperimenti piu' vicini alla magia nera che all'ingegneria del software; oppure si puo' adoperare il rigore e la disciplina che permettono ad un gruppo di sviluppatori di collaborare senza fare danni. Damian Conway ha pubblicato un libro dedicato alla descrizione di buone pratiche di sviluppo, che e' stato tradotto in uno strumento per la verifica automatica dell'aderenza del proprio codice a questi consigli (Perl::Critic): ancora una volta, si tratta di uno strumento che si e' liberi di adattare al proprio ambiente specifico.
Sono contro gli innamoramenti tecnologici, ma devo dire - probabilmente perche' lo conosco meglio - che non mi sono mai divertito tanto come quando ho avuto la possibilita' di programmare in Perl. Sospetto infine, ma non ho un'esperienza robusta di quello che avviene in altri ambiti, che la nostra comunita' di sviluppatori sia qualcosa che altri linguaggi possono invidiarci: ho sempre trovato un aiuto puntuale quando ne ho avuto bisogno, rapidamente e a portata di mano.
3. Quali sono gli obiettivi dell' Italian Perl Workshop per l'anno prossimo?
MB: Il mio primo obiettivo e' quello di riuscire a confermare il buon risultato dell'edizione 2008. Al fine di ottenere almeno questo, chiaramente, dobbiamo puntare a migliorarci. Molte cose hanno funzionato bene, altre un po' meno. Abbiamo gia' iniziato a lavorare su tali aspetti, e anche su possibili novita'. Non mi sbilancio troppo su queste potenziali novita', anche perche' non sono nemmeno ben chiare nella mia mente, ma posso dire che da un lato cercheremo di avere argomenti sempre piu' avanzati ed interessanti (magari facendo tenere alcuni degli interventi chiave in lingua inglese, in modo da richiamare pubblico dall'estero) pur mantenendo anche una traccia "per novizi" sulla quale abbiamo anzi gia' idee di miglioramento. Da un altro lato vorremmo invece avere interventi riguardanti linguaggi che in qualche modo possono legarsi, filosoficamente oppure semplicemente perche' sono utilizzati dai programmatori assieme ad esso, a Perl: ad esempio Haskell o JavaScript.
Quanto stiamo organizzando per il 2009 ha inoltre un secondo scopo, e cioe' quello di poterci permettere di formulare al meglio la nostra candidatura per l'edizione 2010 di YAPC::EU: vogliamo quindi lavorare al meglio affinche' tutto risulti quanto piu' curato possibile.
4. Che consigli potreste dare ad una piccola statup come Nestoria all'ingresso nel mercato italiano?
SLR: Non mi sento in grado di dare consigli ad una startup: non ho esperienza diretta dei problemi che si devono affrontare in una situazione simile. Posso dire quello che mi sembra significativo, quello cui presterei attenzione se mi trovassi nelle medesime condizioni. Prima di tutto approvo la scelta della tecnologia Perl: trovo che dia un vantaggio competitivo importante, per la produttivita' che si puo' raggiungere, e per la quantita' di strumenti (moduli CPAN, applicazioni, programmi di utilita') che una squadra di sviluppatori puo' adottare ed eventualmente adattare alle proprie esigenze.
L'altra cosa che mi sembra sensata e' prestare attenzione all'immagine dell'azienda presso i geek, i tecnici: sono questi ultimi infatti a popolare piu' capillarmente la rete, e guadagnare la loro simpatia puo' in un secondo momento (quando - ve lo auguro - crescerete) diventare fondamentale. Sto pensando a casi eclatanti come quello di Google: un'intera azienda ottimizzata per dare ai propri ingegneri il migliore ambiente possibile per coltivare la propria creativita'. E i risultati sono misurabili. In questo senso ritengo che avere un blog mantenuto e curato - e' solo un esempio - sia una cosa intelligente.
Un altro punto e' cercare un coinvolgimento attivo nella comunita' opensource, contribuendo ad esempio con il codice prodotto per le proprie applicazioni (con il non trascurabile effetto collaterale di migliorarne la qualita'). Oppure invitando esperti esterni a tenere seminari aperti a tutti presso i vostri uffici, pubblicandone poi gli atti: un vantaggio per i vostri collaboratori, e un ulteriore contributo positivo all'immagine percepita dall'esterno.
Stefano, Michele, ancora grazie. E grazie anche alla comunita' italiana che contribuisce allo sviluppo di software open source che noi poi possiamo utilizzare per creare un sito quanto piu' user-friendly possibile. Vi auguriamo che il vostro lavoro possa svilupparsi con sempre maggior successo.
Tra le interviste di Nestoria piu' recenti, Luca Piazza Bonati, Simon Baker, Jesus Encinar