Home
  • Interviste
  • Il web, le aziende e la community della coppia MySQL - Perl
arthas
pubblicato circa un anno fa

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:

  • Current rating: 5.0/5
  • 1
  • 2
  • 3
  • 4
  • 5

Argomenti chiave:

Ultimi commenti Ultimi commenti

re-verse
re-verse
scrive: circa un anno fa

Grazie 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
g2d
scrive: circa un anno fa

Grazie 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
lucapette
scrive: circa un anno fa

Se 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.

Esegui il Login oppure registrati per scrivere un commento.
Cerca nel sito...
Ultime recipes

Un utilissimo tool di shell che effettua un dettagliato e comodo report su MySQL MySQL Report un tool di shell per tenere tutto sotto controllo

Un utilissimo tool di shell che effettua un dettagliato e comodo report su MySQL


Vai alla recipe

Un utilissimo tool per sniffare il traffico Client/Server TCP/IP di MySQL MySQLSniffer sniffare il traffico TCP di MySQL

Un utilissimo tool per sniffare il traffico Client/Server TCP/IP di MySQL


Vai alla recipe

Verificare l'integrità, riparare gestire chiavi e memoria di tabelle MyISAM attraverso myisamchk riparare file MyISAM

Verificare l'integrità, riparare gestire chiavi e memoria di tabelle MyISAM attraverso il file myisamchk


Vai alla recipe

Un tool per comprimere le tabelle MyISAM fino a oltre il 50% myisampack comprimere file MyISAM

Un tool per comprimere le tabelle MyISAM fino a oltre il 50%


Vai alla recipe

mysqlshow le info di base sui database, tabelle e colonne senza utilizzare alcun mysqlshow visualizzare le informazioni sul database MySQL

mysqlshow le info di base sui database, tabelle e colonne senza utilizzare alcun client


Vai alla recipe

Utilizzando UNION / UNION ALL su campi int unsigned zerofill,
ho notato che MysqlUNION / UNION ALL su campi int unsigned zerofill. di DebUsr
Vai al tip

Utilizzo di funzioni come alias di campo tramite l'impiego di prepared statementReport con alias di campo dinamici di john_revelator
Vai al tip

Può capitare che sia necessario eseguire un dump di database in formato Comma SeparatedEsecuzione dump in formato CSV (tabelle in engine MyIsam esportate in formato CSV) di ghigomatto
Vai al tip

E' possibile eseguire le query SQL contenute in un file di testo. Questo è utileEseguire le query da un file di testo di Sante Caserio
Vai al tip

Se vogliamo fare il backup di tutti i database con mysqldump, e ne abbiamo parecchiFare il backup di tutti i database di Sante Caserio
Vai al tip

Salve,vorrei chiedervi un aiutino per una query che mi infastidisce un pò.
Ho 4 aiuto per una query! di fighterdorico Vai al topic

Salve,vorrei chiedervi un aiutino per una query che mi infastidisce un pò.
Ho 4 aiuto per una query! di fighterdorico Vai al topic

Salve,vorrei chiedervi un aiutino per una query che mi infastidisce un pò.
Ho 4 aiuto per una query! di fighterdorico Vai al topic

Salve a tutti.

Ho una tabella con lettere accentate.
Le lettere vengono visualizzate ordinamento tabelle di ditch Vai al topic

Salve a tutti.

Ho una tabella con lettere accentate.
Le lettere vengono visualizzate ordinamento tabelle di ditch Vai al topic