Commenti(3)
Il web, le aziende e la community della coppia MySQL - Perl
Nell'epoca di php MySQL Italia cerca di far luce sul linguaggio perl ed il suo rapporto con web e le Aziende nonchè ovviamente con MySQL intervistando Michele Beltrame, esperto di perl e accanito sostenitore delll'Open Source
1) Ciao Michele Beltrame alias arthas, presentati agli Utenti di MySQL Italia
Sono titolare di una piccola azienda con sede in Friuli, con la quale sviluppo software per web sin dal 1996. È stato alquanto interessante vedere come questo settore si è evoluto sin dai suoi albori, quando si utilizzava mSQL e semplici script CGI in Perl oppure in C. Sono stato memebro della community Perl sin da metà anni '90, anche se in realtà si trattava fondamentalmente di un newsgroup su Usenet. La community vera e propria, con i gruppi di utenti sul territorio, è nata qualche anno dopo e la sua attività è andata via via crescendo sino all'organizzazione del primo Italian Perl Workshop nel 2004 e avanti fino all'organizzazione della YAPC::Europe (conferenza Perl europea) nel 2010. Tra gioie e qualche dolore, è stato entusiasmante essere parte di questa preparata e disponibile comunità in tutti questi anni.
2) Perl nel 2011, raccontaci dal tuo punto di vista come sta questo linguaggio e qual è il suo mercato attuale e quale lo spazio di Perl nelle Aziende?
Perl è in un momento interessante. Dopo un periodo in cui poco è accaduto, negli ultimi 5-6 anni sono fiorite interessanti novità relative a Perl 5. Anzitutto Moose, il framework object oriented che sta diventando il nuovo standard per la programmazione ad oggetti in Perl: originariamente ispirato a Lisp, ora è uno dei framework OO più avanzati in assoluto. Sta inoltre fiorendo ciò che viene chiamato Modern Perl, che è sia un modo di programmare che un movimento vero e proprio volto a "svecchiare" il linguaggio, ovvero ad incoraggiare la scrittura di codice che utilizzi le nuove caratteristiche di Perl ed una selezione delle più recenti librerie. Al contempo sono ora disponibili vari framework di nuova generazione ed ORM che rendono la scrittura di applicazioni web di qualsiasi dimensione un vero piacere, il che porta di nuovo Perl a poter essere una scelta di primo livello per lo sviluppatore. E poi c'è Perl 6, finalmente disponibile per chi ha voglia cimentarsi con esso (per quanto non ancora pronto per un utilizzo "di produzione").
3) Perl e il web qual'è il rapporto e le prospettive reali tra questi due mondi?
Credo che Perl sia molto appetibile, a livello web, per la realizzazione di applicazioni di medie o grandi dimensioni. Non voglio dire che il linguaggio non se la cavi alla grande anche per semplici pagine dinamiche, ma di certo PHP sta dominando la scena in questo ambito. Per quanto riguarda applicazioni più complesse di quella che chiamo "home page con news aggiornabili", credo molti sviluppatori siano portati a cercare di capire cos'altro c'è in giro. Le soluzioni più interessanti a mio avviso si trovano nel mondo Python (Django, ...), Ruby (Sinatra, Rails, ...) e appunto Perl (Dancer, Catalyst, Mojolicious, ...).
4) Sei uno degli esponenti storici di Perl in Italia, non a caso sei parte della redazione di Perl.it, tuttavia in questi anni questo linguaggio dalle straordinarie caratteristiche sta perdendo terreno rispetto a rivali come PHP e Ruby, cosa ne pensi di ciò anche in relazione alla community italiana?
Penso che in Italia la situazione non sia particolarmente rosea per quanto riguarda Perl: è sintomatico che molti dei programmatori italiani attivi nella community lavorino all'estero, dove il linguaggio è di gran lunga più utilizzato. Ciò è un peccato, perché (vedi risposta n.2) forse non c'è stato momento migliore di oggi per cimentarsi con il linguaggio.
5) Per Java Hibernate, per Ruby Active Record, per PHP Doctrine per Perl quali sono gli ORM e più in generale i framwork web utilizzati?
In principio era Class::DBI, probabilmente il precursore degli ORM moderni indipendentemente dal linguaggio per il quale sono stati scritti. Successivamente sono stati sviluppati ORM avanzati, a partire dall'utilizzatissimo DBIx::Class. Poiché ogni ORM ha una sua filosofia, è normale che in un linguaggio come Perl (che incoraggia spesso la ricerca di soluzioni diverse piuttosto che il conformarsi a quelle esistenti) ce ne sia più di uno: alcuni degli esempi più popolari sono Rose::DB::Object e Fey::ORM (basato su Moose). Parlando invece di web framework, il più utilizzato al momento è Catalyst, il quale - sfruttando un largo set di librerie su CPAN offre allo sviluppatore un ambiente che di fatto non pone limiti di scalabilità verso l'alto. Esistono poi due frameowrk nuovi di zecca, Mojolicious e Dancer, che mirano a fornire allo sviluppatore un ambiente semplice, persino divertente, ma al contempo potente e flessibile. Si tratta solo di scegliere quale filosofia piace di più.
6) Quali secondo te, i settori e le applicazioni in cui la coppia Perl - MySQL può fare la differenza, nel piccolo quanto nel grande?
Di sicuro l'ambito web. L'unione tra i framework che Perl mette a disposizione, le migliaia di librerie disponibili su CPAN ed un database veloce, maturo e ben integrato non pongono limiti alle applicazion si possono creare. Parlando di integrazione Perl e MySQL, il modulo DBD::mysql di DBI è utilizzatissimo, virtualmente privo di bug e globalmente è una libreria solida come una roccia.
7) Gli sviluppatori, specie nei progetti di non grandissima dimensione, sono nei fatti i maggiori utilizzatori di database, spesso si ha la percezione che anche i bravi sviluppatori non hanno una grandissima esperienza con i dati e di conseguenza anche quando usano i DB non sfruttano bene le reali potenzialità, quanto secondo te questo luogo comune è vero e come è possibile superare questo gap?
C'è del vero in questo. Ho visto molti sviluppatori che non vanno molto oltre SELECT, INSERT, UPDATE e JOIN, pensando che semplicemente il database "faccia tutto lui" e che inserire ed ottenere dati sia tutto ciò che è possibile fare; spesso non vedo nemmeno un minimo di studio sugli indici delle tabelle! Più in generale, noto che tanti sviluppatori sono più preoccupati di come la loro applicazione interagisce con l'utente e di quanto è bella da vedere rispetto a quanto è solida ed efficiente: la "colpa" non è necessariamente da attribuire al programmatore, ma anche all'ambiente (clienti o datore di lavoro) che lo porta a curarsi solo di certi aspetti. E questo fa sì che ci sia in giro molto software fragile. Non vedo una ricetta semplice per superare questo problema, di certo si tratta di far capire a chi si avvicina al mondo della programmazione che anche "quello che sta sotto" merita di essere curato. È la solita vecchia storia: non puoi costruire un grattacielo sicuro senza delle solide fondamenta.
8) Secondo te quanto è importante "partecipare attivamente" all'Open Source e alla community in generale, sia in termini di confronto e crescita professionale sia in termini di business.
In termini di confronto e crescita (personale e professionale) penso non ci siano dubbi sul fatto che la "partecipazione attiva" sia molto importante: scambiarsi idee, partecipare ad eventi ma anche organizzarne per me si è dimostrato di grande utilità. Vivere "dentro" la community ha spesso anche l'effetto collaterale di motivare ulteriormente nel programmare. In termini di business la questione è più articolata. Di certo ho visto molti esempi di persone che hanno trovato (o cambiato) lavoro grazie a contatti all'interno della comunità Perl; oppure liberi professionisti che hanno trovato clienti grazie ad essa. In tutti i casi, la crescita professionale di cui scrivevo poc'anzi è più o meno direttamente utile anch'essa nell'ambito lavorativo.
9) MySQL cresce sempre più, l'ultima GA rilasciata a Dicembre promette prestazioni altissime, tuttavia la community mondiale degli addetti ai lavori non è proprio contenta di come Oracle sta gestendo questa realtà, secondo te quali sono gli scenari che si presenteranno nel prossimo futuro.
Non vedo parlicolarmente di cattivo occhio i piani di Oracle per MySQL, e mi pare che con la versione 5.5 qualcosa di positivo stia venendo portato a termine. A me sembra un buon passo avanti rispetto ai fumosi piani di Sun degli anni passati.
Il problema della community "critica", dal mio punto di vista, risale
proprio all'acquisizione di MySQL da parte di Sun. Di certo molti hanno storto il naso di fronte ad un database open source di fatto posto nelle mani di una grande corporation. Lo stesso problema psicologico c'è oggi con Oracle, e non oso immaginare cosa sarebbe successo se l'acquirente forsse stato - chessò - Microsoft. :-) Ciò ha di certo portato, e sta continuando a portare, un certo numero sviluppatori a valutare soluzioni diverse nell'ambito open source, prima tra tutte PostgreSQL.
10) Lavori in proprio in Italia, tra gli Utenti di MySQL Italia ci sono tantissimi consulenti e moltissime piccole Aziende, che suggerimento ti senti di dare sia a chi sta per intraprendere questa professione che chi la vive già quotidianamente ?
A chi sta per intraprendere l'attività oggi mi sentirei di dire "non sono tutte rose e fiori". Il lavoro di consulente o piccola azienda nel ramo dello sviluppo software o affini a prima vista sembra una cosa divertente e rilassante (orari liberi, poche spese fisse, ...), però alla fine non è sempre facile. Bisogna trovare un equilibrio, essere sempre disposti ad imparare e lavorare bene, come d'altronde in qualsiasi altro lavoro. Chi già vive questa professione ogni giorno credo già sappia bene di cosa sto parlando, pertanto ritengo superfluo dispensare consigli. Ah no, eccone invece uno, così mi smentisco subito: "non limitatevi a cercare su Google ciò che le community hanno scritto e che è utile per risolvere i vostri problemi; cercate di farne parte, di entrare nel vivo: la scelta vi ripagherà, in tanti sensi".
11) Cosa ne pensi di MySQL Italia, come giudichi quest'iniziativa nel panorama del web italiano che è già pieno di siti e blog che trattano questa tematica?
Penso che qualcosa che possa diventare un "punto di riferimento" per l'utilizzatore di MySQL in Italia e che crei aggregazione di persone con interessi condivisi sia molto importante, sia per le persone stesse che per la diffusione di questa tecnologia in Italia. È un po' quello che abbiamo fatto e stiamo cercando di continuare a portare avanti con il sito Perl.It.
Intervista a cura di algweb
Condividi su:
Esprimi un voto:
Argomenti chiave:
Ultimi commenti
re-verse scrive: circa un anno faGrazie mille per la disponibilità, sono prevalemtemente uno svilupatore PHP, ma vengo dal C/C++ e prima ancora, dai mondi Mainframe, Cobol/DB2. Non ho mai affrontato l'argomento 'perl' ma dopo quest'introduzione sicuramente mi farò un'esplorata :D
g2d scrive: circa un anno faGrazie Michele, sia per averci concesso l'intervista sia per l'esperienza che hai condiviso con noi. Siamo un piccolo gruppo fatto di tanti Utenti e tanti tecnici spesso alle prime armi, attraverso le tue risposte abbiamo capito tante cose e consolidato tante altre. In bocca al lupo per la tua attività lavorativa e per il tuo impegno nell'Open Source e con la community Perl. Conta pure su MySQL Italia
lucapette scrive: circa un anno faSe oggi sono lo sviluppatore che sono lo devo anche a perl. Mi innamorai di questo linguaggio molti anni fa e arthas era un grande esperto. Oggi, a nome mio e della community, posso tranquillamente dire che è una grande soddisfazione leggere questa intervista cosi bella. Grazie arthas della disponibilità, è sempre bello leggere opinioni di persone di grande esperienza.

MySQL Report un tool di shell per tenere tutto sotto controllo