• [^] # Re: Sacré langage! ou langage sacré ? ;-)

    Posté par . En réponse à la dépêche Journées Perl 2005. Évalué à 2.

    Je profite de ce post pour remercier Sylvain qui a fait un cours sur Perl, disponible en ligne : http://sylvain.lhullier.org/publications/perl.html(...) (il doit être trop modeste pour se citer lui-même).

    J'ai déjà utilisé ce support pour donner un cours express sur 2 jours, à Canon (à Cesson Sévigné près de Rennes), et son support est très bien fait !

    Sinon, le grand avantage de Perl : plus qu'un langage, c'est une culture, notamment de la réutilisabilité. Le CPAN est une fonctionnalité non pas technique mais culturelle de Perl, que je regrette dans la plupart des autres langages (rien à voir avec le PEAR de PHP).

    <ma vie>Grâce au CPAN, j'ai pu faire ce que je n'aurais jamais osé espérer faire autement. Exemple : faire un script qui :
    - fait une requète dans une base de données SQL (PostgreSQL) --modules DBI et DBD::PostgreSQL--
    - et qui stocke le résultat dans un fichier au format Excel -- module Spreadsheet::WriteExcel.
    - Ensuite expédie le fichier Excel en fichier joint dans un e-mail --module MIME::Lite--
    - en ayant chiffré cet e-mail avec GnuPG --module Crypt::GPG.
    </ma vie>

    Merci Larry Wall, merci Sylain et merci aux mainteneurs de modules Perl (ainsi qu'aux CPAN-testers) !

    Un reproche souvent fait à Perl est que c'est un lange write-only, mais j'aurais envie de faire ce reproche à n'importe quel langage de programmation. Ce n'est justement pas le langage qui fait la propreté d'écriture, mais la culture.

    Pour Perl en particulier, la problème vient (à mon avis) du fait que les gens programment en PERL sans savoir en tirer parti. Ils font du Perl avec des constructions proches de celles du C. Résultat : ils écrivent des choses qui marchent par hasard, et ne savent pas pourquoi en changeant une ligne tout part en saucisse... Second effet : pour ajouter des fonctionnalités, ils font des verrues à leur code déjà pas clean, et là ça devient la cata !
    Résultat : lorsqu'il faut encore ajouter des trucs, ou intégrer à nouveau le code dans un projet plus vaste, on a mieux fait de tout récrire from scratch... Plus qu'un problème de langage, c'est un problème d'humains, et des ressources qu'ils ont pour réaliser leur travail.