Tanti Auguri Perl!

Il 18 dicembre del 1987, esattamente vent’anni fa, veniva rilasciato al mondo perl 1.0, un evento che nel bene o nel male avrebbe cambiato per sempre lo scenario informatico mondiale. Però la man page scritta da Larry Wall diceva solo :

Perl is a interpreted language optimized for scanning arbitrary text files, extracting information from those text files, and printing reports based on that information

In vent’anni Perl è diventato sempre più potente, e utilizzato in miriadi di ambiti diversi, tanto da essere definito duct tape of internet e swiss army chainsaw. Perl è stato usato per costruire quello che per un decennio è stata la definizione stessa di scalabilità, slashdot, ed è stato il primo linguaggio a integrare davvero tutte quelle caratteristiche come hash, liste dinamiche & regexp che oggi sembrano “normali”.

Ruby è un nipotino di Perl, così come PHP, e anche se non lo ammettono volentieri anche Java, Python e C# hanno pescato nelle idee che venivano dalla comunità. Mica è un caso che si parli di Perl Compatible Regex Engine.

Insomma, è vero che si può scrivere executable line noise in perl, sì va bene, è un linguaggio write only, ok, io preferisco Ruby e tanta gente preferisce altro. Però gli auguri se li merita, in fondo Dio non ha mica fatto l’universo in Lisp.

Comments

  1. Giusto l’altro giorno stavo meditando sul fatto che quasi una decina di anni fa ho usato perl per alcuni mesi… ma ora non ricordo più nulla 🙂 Però mi ero divertito, questo me lo ricordo, per cui alla fine gli auguri ci stanno.

  2. Io sono partito dal Perl. Senza Perl adesso non sarei niente.

  3. Devo molto al Perl… è fantastico linguaggio. Averlo studiato (tempo fa) mi ha aperto la mente. Tanti auguri!!

  4. Sono d’accordo con Carletto. È un fantastico linguaggio, e Larry Wall ai suoi tempi è stato un visionario. Purtroppo c’è anche da dire che ormai sente il peso degli anni, e ai nostri giorni non è pensabile usare un linguaggio con una tale sintassi.
    Da rubysta, inoltre, non nascondo una certa invidia per il CPAN 😉

  5. @bluemonk Non sono d’accordo con il tuo commento sulla sintassi. E` vero che l’estrema flessibilità ed espressività ha generato mostri, ma è anche vero che permette cose molto potenti. Prova a procurarti Higher-Order Perl per vedere degli esempi, oppure cerca qualche introduzione a Jifty (senza entrare nei particolari, semplicemente guardando la sintassi del framework)

  6. @larsen uno dei libri di cui forse sono più orgoglioso della mia (scarsa) libreria è Object Oriented Perl di Damian Conway. 🙂

  7. @ludo Ecco. La OOP in Perl purtroppo soffre del suo status di cosa aggiunta al linguaggio. Ci si lavora e ci si fanno applicazioni grosse e articolate, ma mancano un po’ di cose. A questo proposito, e ricollegandomi al discorso sulla sintassi e la flessibilità che facevo con bluemonk, segnalo il progetto Moose (si trova su search.cpan.org), “an extension of the Perl 5 object system”

  8. @larsen Non c’è dubbio che Perl permetta cose molto potenti. Bisogna invece chiedersi: c’è qualcosa che posso fare in Perl che non sia possibile in un altro linguaggio (penso a Python ad esempio) senza dover sottostare ad una sintassi ai limiti della leggibilità? Oggi la risposta a quella domanda è “no”, motivo per il quale Perl sta lentamente ed inesorabilmente perdendo terreno.

  9. @marco si, anche se ci sono nicchie di fedelissimi come quel suonato di Brad Fitzpatrick che si ostinano a sfornare progetti veramente interessanti (come Gearman o The Schwarts) in Perl. Peccato non si siano ancora convertiti a Python, The Schwartz mi farebbe un sacco comodo…

  10. +1 per Higher Order Perl, ancora devo digerire un paio di capitoli ma è un testo brillante e mai banale.
    E moose mi è sempre sembrato molto fico.. larsen quando ce lo fai un articoletto qua o su perl.it? 🙂

  11. (loop (format t “Booo!~%”))

  12. (loop (format t “Booo!~%”))

    quoto!

Policy per i commenti: Apprezzo moltissimo i vostri commenti, critiche incluse. Per evitare spam e troll, e far rimanere il discorso civile, i commenti sono moderati e prontamente approvati poco dopo il loro invio.