Perl fête ses 25 ans
Que pensez-vous de l'évolution du langage de programmation ?

Les rubriques (actu, forums, tutos) de Développez
Tags
Réseaux sociaux


 Discussion forum

Sur le même sujet
Le , par Hinault Romaric, Responsable Actualités
Perl (Practical Extraction and Report Language) a un quart de siècle cette semaine.

Le langage de programmation dérivé des langages de scripts shell, sed, awk et du langage C avait été lancé en version 1.0 le 18 décembre 1987 par Larry Wall.

Le langage avait été présenté comme une alternative aux utilitaires de traitement de texte Unix Sed et Awk. C’est un an plus tard après la sortie de la version 2.0 que Perl va réellement décoller. En 2000, Perl sort en version 6 et est entièrement réécrit à partir de zéro, tout en conservant ses principes de base.

Le langage interprété est surtout apprécié par les développeurs pour sa souplesse dans le traitement des expressions régulières et la manipulation des fichiers texte.

Bien que Perl ait été largement éclipsé par PHP ou encore Python, il est encore utilisé par un nombre important de développeurs, et figure dans le top 10 du classement des langages de programmation par Tiobe.

En tant que communauté de développeurs, nous saisissons l’occasion pour souhaiter un bon anniversaire à Perl.

Source

Et vous ?

Utilisez-vous ou avez-vous utilisé Perl ? Que pensez-vous du langage et de son évolution ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de 10000.maniacs 10000.maniacs
http://www.developpez.com
Invité de passage
le 19/12/2012 17:58
Je ne connais pas Python mais pour avoir fait beaucoup de PHP en mode scripting console de commande, j'avoue que PERL reste encore le langage par excellence pour faire du parsing de fichier de texte.
Pour la petite histoire, je me suis mis à PERL que très récemment car j'ai eu pour besoin de parser 2 millions de fichiers de log de quelques méga chacun, extraire une 10aine d'indicateurs en regexp pour chaque fichier, et les enregistrer dans une base de données MySQL (rien de bien compliqué donc !).
J'ai fait un script de traitement en PHP et en PERL, résultat : 2 fois plus rapide en PERL. Après, je suis conscient qu'il faille évidemment pondérer ce résultat car certaines structures de script sont différentes : utilisation de classe en PHP, utilisation de $_ en PERL, etc.
Cela n'a pas de valeur d'exemple mais je trouvais ça assez extra-ordinaire qu'on puisse encore gagner en vitesse de traitement sur un fonctionnel à ce point "juste" à partir d'une différence de langage, surtout de nos jours où les langages de programmation sont de plus en plus optimisés.

Bon anniv PERL !
Avatar de zephbag zephbag
http://www.developpez.com
Invité de passage
le 19/12/2012 18:10
Bien avant Php, Jsp et consort, les pages dynamiques web étaient créées en Perl pour les serveurs web Apache.
Avatar de Camille_B Camille_B
http://www.developpez.com
Membre expérimenté
le 19/12/2012 23:19
La grande force de Perl c'est sa souplesse et son "évolutivité".

Regardez toute la mouvance "Modern Perl" : la plupart des derniers bidules à la mode en matière de programmation sont dispos en Perl. Et que l'on ne me parle pas d'OO, avec Moose, Perl dispose de l'un des systèmes les plus puissants d'OO (avec CLOS).

Sur ce point Perl enterre Python qui est un très bon langage, c'est sûr, mais dont certaines erreurs de conception on conduit à la situation actuelle : obligation de casser sévèrement la rétrocompatibilité pour pouvoir "améliorer" significativement le langage.

Mais Perl a le défaut de ses qualités : parce qu'il n'est pas un LISP, sa souplesse couplée à sa grande expressivité (sigils etc.) conduit à un langage à la syntaxe et à la grammaire de plus en plus complexe. Ici Python gagne, c'est sûr.
Avatar de GLDavid GLDavid
http://www.developpez.com
Expert Confirmé
le 20/12/2012 10:33
Bonjour à tous

En qualité d'ancien responsable de cette section Perl, je me permet un point de vue que j'espère suffisamment objectif concernant Perl.

Voici plus de 12 ans que je connais ce langage. J'ai connu Perl 4, Perl 5.
Ce langage est pour ma part, mon langage de référence lors de l'extraction de données provenant de fichiers. Sa force ? Les regexps, bien sûr, toujours copiées, jamais égalées. Ce lange est aussi très souple d'utilisation.
Toutefois, je n'ai jamais trop aimé l'orienté objet selon Perl. Perl vient du C, et non de C++. La manière dont un objet doit être déclaré et utilisé ne m'a jamais trop parlé.

Maintenant, quel est la situation du langage ? Je pense que Perl est toujours autant utilisé par les puristes, les bioinformaticiens et les administrateurs systèmes. Pour les bioinformaticiens, c'est le langage par définition et d'école. Pour les sys admins, il apporte tout ce que les shell languages ne peuvent apporter.

Et Perl 6 ? Bonne question ? Est-il finalement fini ? Je veux dire, son développement est-il enfin arrivé à maturité ? J'en entends parler depuis 10 ans, et c'est l'équivalent d'un vaporware. La norme reste encore Perl 5 pour de nombreux OS et entreprises.

N'oublions pas également l'adage Perl (sorry in english):
Perl is easy to write, hard to read



Et oui, sa souplesse tient à la fois de qualité comme de défaut. D'accord, cela dépend énormément du développeur. Mais le petit jeu du all-in-one-line est plus improductif qu'autre chose.

Même si je reste attaché à Perl, je dois avouer que pour mon travail de tous les jours, je ne m'en sers plus :-( Et c'est le cas dans bon nombre d'entreprises: je vois des gens qui connaissent bien ce langage, mais la vérité de l'entreprise est d'utiliser des frameworks généralistes et portables: Java et .Net en tête. Développerdu Web avec Perl, oui c'est faisable mais avec le bon vieux CGI ou avec des appels Ajax mais cela reste discret, trop confidentiel.

Perl restera utilisé toutefois. Il est idéal pour les débutants et certains coprs de métiers. Si je vois une refonte, ce serait dans l'orienté objet que je n'ai jamais aimé dans Perl 5. Ma connaissance de Perl 6 reste limité, je m'abstiendrais de tout commentaire.

Je ne souhaite qu'une longue vie à Perl.

@++
Avatar de poum42 poum42
http://www.developpez.com
Invité de passage
le 20/12/2012 19:43
J'adore Perl - je ne suis donc pas objectif - notamment parce qu'il est un (le ?) langage qui s'apparente à une langue: on peut avoir son style mais surtout on peut en faire ce qu'on en veut: maintenable ou pas, objet ou pas, objet avec Moose ou pas ...

Concernant le web avec Perl, je me suis frotté récemment à Mojolicious (mais il y en a d'autre) + DBIx::Class pour la persistence: la lourdeur de Java est loin, et ça vaut largement Play! par exemple...

Enfin, Perl embarque des possibilités de faire du pro, du propre, du maintenable: use strict et du sécurisé (ce que je n'ai pas encore trouvé ailleurs nativement): mode tainted.

Alors, les regexp, oui, la manipulation des fichiers textes, parfois mais plein d'autres choses, un langage vivant, des extensions en pagaille, une philosophie qui en font quelque chose d'unique (mais je ne les connais pas tous) et pas juste un langage de plus.

Mais chacun fait comme il veut: TIMTOWTDI
Avatar de El Criminal El Criminal
http://www.developpez.com
Candidat au titre de Membre du Club
le 20/12/2012 20:01
Bonjour à tous,

Utilisateur de Perl depuis maintenant de nombreuses années, je pense que c'est un langage réellement d'exception. Même si j'annonce dès le début la couleur de mes préférences, je vais aussi essayé de rester le plus objectif possible.

Comme l'a exprimé GLDavid, Perl c'est une histoire, une culture, une manière de faire différente des autres (certes) mais incroyablement efficace et confortable.

Vous avez en Perl toujours plus d'une façon de faire les choses (le fameux TIMTOWTDI). Et les choses que vous pouvez faire sont réellement incroyables. Combien de fois ai-je pu réaliser en quelques lignes (si ce n'est quelques symboles en golfeur invétéré que je suis) ce qui aurait pris plusieurs lignes ou fichiers en C, C++, VB ou en Java...

Sans chercher spécialement à le comparer aux autres langages (il n'y a d'ailleurs rien de spécial à comparer, l'idée n'est pas de savoir quel est le meilleurs langage, mais quel est celui qui me sert le mieux ?), ce langage est l'un des plus performant. N'oublions pas le rôle principal qu'il a tenu (et tien toujours encore, pour partie) dans les bases et les débuts de l'internet moderne tel que nous le connaissons... Perl a toujours bénéficié des dernières technologies en matières de langage de programmation et cela continue encore aujourd'hui.

Je pense que l'on ne peut vraiment parler de Perl sans parler de sa communauté. Cette dernière est toujours à l'écoute de vos problèmes et toujours cordiale quand vous l'êtes vous même. Certes, plus discrète que d'autres (j'ai le souvenir de quelques slogans à ce propos...) elle sait être aussi incroyablement dynamique. C'est bien simple, si un sujet vous intéresse, vous trouverez quelqu'un dans la communauté qui a le même intérêt que vous et avec qui vous pourrez échangé. Cette remarque est valable pour d'autres langages bien sur, mais je reconnais qu'il n'y qu'avec Perl que j'ai connu de tels moments...

Il y a aussi le CPAN, véritable hall à modules qui nous offre des solutions performantes, libres et vérifiées. Le dernier point peut sembler anodin, mais les vérifications sur les modules de Perl dans le CPAN (même le plus modeste des modules) sont importantes et contribuent grandement à la qualité de ces derniers...

Comme l'a précédemment dit GLDavid, Perl n'est pas toujours très rependu en entreprise. C'est vrai, il est difficile d'en définir le pourquoi (autres langages plus populaires ou chaleureux ? Effets de mode ? Exigence de Perl malgré une grande liberté ?...), mais je reconnais que j'utilise dans le cadre de l'entreprise de nombreux scripts, surtout quand je n'ai pas envie "de me prendre la tête à coder des choses compliquer". Perl, c'est la possibilité d'exprimer simplement des choses difficiles...

Sinon, pour l'orienté objet, Perl permet de faire des choses réellement extrêmes et hyper puissantes, après, le tout est de savoir si on en a réellement besoin... Personnellement, je le préfère "nature", sans POO...

Bref, longue vie au Perl. Je ne doute pas un seul instant de son "immortalité".
Avatar de grim7reaper grim7reaper
http://www.developpez.com
Membre chevronné
le 20/12/2012 21:10
Citation Envoyé par GLDavid  Voir le message
Maintenant, quel est la situation du langage ? Je pense que Perl est toujours autant utilisé par les puristes, les bioinformaticiens et les administrateurs systèmes. Pour les bioinformaticiens, c'est le langage par définition et d'école. Pour les sys admins, il apporte tout ce que les shell languages ne peuvent apporter.

Pour la bioinformatique, il est vrai que Perl a longtemps régné en maître (grâce à BioPerl).
C’est beaucoup moins vrai maintenant avec Python (et l’excellent BioPython) qui est de plus en plus présent (et certaines formations de bioinformatique pense à remplacer l’apprentissage de Perl par Python).
Après, je n’ai pas de chiffres sur les taux d’utilisation mais je pense que la tendance actuelle est d’aller vers Python (mais Perl reste très présent).

Cela dit, j’ai fait du Perl dans le passé et il m’arrive encore de l’utiliser (pour faire des scripts shell++ ^^), et je l’apprécie vraiment dans ce rôle
Avatar de rimram31 rimram31
http://www.developpez.com
Membre confirmé
le 21/12/2012 10:22
Amusant, j'ai toujours "tourné autour" de Perl sans jamais réellement l'affronter :-) même si j'ai pu dans le passé travailler sur un projet web en Perl. Jusque là, je m'en suis toujours sorti avec du shell, sed et quelques pincées de awk mais à chaque fois avec un pincement, m'apercevant quand le travail a faire était plus important que prévu, de penser a Perl :-)

Par contre un grand merci a tous ces développeurs qui m'ont permis d'avoir des utilitaires systèmes en un simple download de script Perl n'excédant généralement pas deux pages de code. Perl restera pour moi un outil système de l'ordre du couteau suisse comme toute la panoplie de commande Unix permettant de faire en dix lignes et a peine une heure ce qui aurait demandé des jours de travail et quantité de lignes de code avec d'autres technologies.

Je suis d'ailleurs souvent déçu de constater l'ignorance de nouvelles générations de développeurs pour ces techniques les voyant s'embarquer dans des développements complexes là où quelques lignes de script auraient suffit.
Avatar de powermanga powermanga
http://www.developpez.com
Inactif
le 21/12/2012 10:31
J'utilise Perl depuis douze ans et je l'utilise toujours aujourd'hui. Je développe surtout des scripts et parfois des applications sous Debian ou Ubuntu. Un peu réticent à ce langage au début, j'avoue que j'ai aujourd'hui du mal à faire sans.
Citation Envoyé par GLDavid  Voir le message
Toutefois, je n'ai jamais trop aimé l'orienté objet selon Perl. Perl vient du C, et non de C++. La manière dont un objet doit être déclaré et utilisé ne m'a jamais trop parlé.

Il existe des bibliothèques pour pallier aux lacunes objets du langue, comme Moose ou Moo.
Citation Envoyé par GLDavid  Voir le message
Et Perl 6 ? Bonne question ? Est-il finalement fini ?

Et bien d'après ce que j'ai compris la machine virtuelle Parrot est terminée et Rakudo Perl 6, le compilateur pour la machine virtuelle Parrot implémentant les spécifications de Perl 6 est en développement mais est utilisable.
Citation Envoyé par GLDavid  Voir le message
La norme reste encore Perl 5 pour de nombreux OS et entreprises.

Il est clair que la norme reste Perl 5. D'ailleurs Perl 6 peut-être vu comme un nouveau langage. Perl 5 reste en développement et les spécifications de Perl 6 ont beaucoup apportés à Perl 5.
Citation Envoyé par GLDavid  Voir le message
N'oublions pas également l'adage Perl (sorry in english) : Perl is easy to write, hard to read

Cette citation est un très vieux préjugé sur Perl. Chacun est libre d'écrire du code Perl ou dans un autre langage de façon illisible. Mais il est tout à faire possible d'écrire du code Perl lisible. Lire l'excellent livre « De l'art de programmer en Perl » de Damian Conway, un livre qui a l'objectif de vous aider à écrire un meilleur code Perl au travers de 256 recommandations. L'autre livre que je conseille est « Perl moderne ».
Citation Envoyé par GLDavid  Voir le message
Développer du Web avec Perl, oui c'est faisable mais avec le bon vieux CGI ou avec des appels Ajax mais cela reste discret, trop confidentiel.

Encore un vieux préjugé sur Perl, il existe de bons frameworks MVC en Perl comme Perl Catalyst ou Perl Dancer. Pour information CGI est juste une interface utilisée par les serveurs HTTP. D'ailleurs FastCGI est très utilisé encore aujourd'hui sur les serveurs HTTP surtout avec PHP, ce qui généralement améliore les performances.
Avatar de GLDavid GLDavid
http://www.developpez.com
Expert Confirmé
le 21/12/2012 11:50
Citation Envoyé par powermanga  Voir le message
J'utilise Perl depuis douze ans ...

Bonjour

Très bien cette réactualisation.
Je constate juste que ce sont des librairies en plus pour améliorer le comportement basique de Perl.

Beaucoup de commentaires très intéressant et 2 points de plus:
1) CPAN. J'oubliais CPAN (comme quoi...). Ce lieu est une mine combinée de diamants et d'or ! Elle est d'une richesse que j'estime comparable à supérieure à l'écosystème Java. Tiens, autant je connais BioPerl, autant faudra que je vois ce que propose CPAN pour la chemoinformatique.
2) La place de Perl par rapport à la concurrence. On a vu dernièrement l'émergence de nouveaux langages de scripts. Je ne m'attarderai pas sur PHP qui est clairement orienté Web. Je parlerai de Python et Ruby. Connaissez-vous IronPython, IronRuby (pour .Net) ou Jython (Python pour Java) ? Pour nombre d'éditeurs, c'est la solution idéal pour rajouter une couche 'script' à des logiciels pro et ajouter facilement de nouveaux plug-ins. Question: et pourquoi ne voit-on pas ceci avec Perl ? La chose est pourtant faisable avec par exemple, PipelinePilot d'Accelrys, qui permet d'écrire des composants aussi bien en Java qu'en Perl. Mais le cas est, de mon point de vue, marginal. Même Accelrys recommande d'écrire les composants en Java.

@++
Offres d'emploi IT
Développeur PHP junior e-marketeur H/F
CDI
MOBISKILL - Haute Normandie - Rouen (76000)
Parue le 02/07/2014
Leader technique PHP5 / Framework Symfony 2 - Angular.JS (scrum)
CDI
lfzpartner.com - Ile de France - Paris (75000)
Parue le 27/06/2014
Technicien systèmes et réseaux
Alternance
IP-FORMATION - Ile de France - Paris (75000)
Parue le 25/07/2014

Voir plus d'offres Voir la carte des offres IT
 
 
 
 
Partenaires

PlanetHoster
Ikoula