Bonjour à tous,
Si je suis sur le forum perl j'imagine que je vais avoir plus de réponses en faveur du langage perl mais pourquoi choisir le perl plutôt que le python, quels sont ses avantages par rapport à python, inconvénients ?
Bonjour à tous,
Si je suis sur le forum perl j'imagine que je vais avoir plus de réponses en faveur du langage perl mais pourquoi choisir le perl plutôt que le python, quels sont ses avantages par rapport à python, inconvénients ?
Bonjour,
Je vais essayer de répondre a ta question sans déclencher de guerre de chapelle ...
Lorsque j'ai dût choisir un langage de script, j'ai regardé les possibilités des langages suivant:
- perl
- python
- ruby
- vbscript
Les besoins étaient, utilisation sur différent systèmes (Windows, OsX, Unix), conserver la possibilité d'utiliser le même langage pour des développement de commande système, développement d'applis avec des GUIs et développement web côté serveur.
Le langage que j'ai retenu est Python.
- vbscript: uniquement sur windows et pour le web pas top
- ruby: est surtout connu pour son framwork ruby on rails (web donc)
- perl: fort concurent, mais question GUI pas top (ou pas trouver chaussure à mon pied)
Puis, j'ai changé d'équipe et mes nouveaux collègues ne font et lisent que du Perl ...
Et maintenant, comme nous avons un certain nombre d'applicatif sous Windows, PowerShell.
Tout ça pour dire que le ou les langages de scripts dépendent pas uniquement des qualités du langage, mais aussi de ton environnement.
Pour ma part Python est un langage agréable à apprendre et intègre la POO contrairement à Perl.
Bien sûr il est possible de faire de la POO avec Perl, mais c'est une adaptation du langage et ce n'était pas prévu à la base. Perl est beaucoup plus orienté ingénieur système.
Quelque soit le langage, il est tout à fait possible d'écrire du bon code robuste et joli. Cela dépend principalement de l’intérêt que porte le programmeur à son code.
Bon, je ne répond pas vraiment à la question initiale.
Mais je dirais ceci au risque d'attirer la foudre de certains développeur, si tu es seul à choisir et que tu estimes devoir faire différent développement préfère Python et garde un oeil sur ce qui est possible de faire avec Perl.
De toute manière lorsque tu maîtrises un langage, passer à un autre n'est pas très compliqué.
Salutations.
Bonjour drakop,
j'avais d'abord choisi de ne pas répondre à ta question, parce que cela tend à faire de débats inutiles, du genre Renault ou Peugeot, Bretagne ou Côte d'Azur, cassoulet ou choucroute, etc. Il n'y a pas de bonne réponse.
Perso, j'ai fait du Python pendant environ 3 ans, puis j'ai découvert Perl et je suis passé à Perl, et je suis toujours à Perl 12 ans plus tard. Donc tu peux imaginer de quel côté mon cœur balance. Mais je ne ferai pas pour autant l'apologie de Perl et encore moins une critique de Python, parce que je continue à penser que Python est un bon langage.
La devise principale de Perl est "There is more than one way to do it" (TIMTOWTDI), "il y a plus d'une façon de le faire". J'y crois vraiment à cette devise, et si l'une de façon de le faire est de le faire en Python (ou en Ruby ou en ...), eh bien pourquoi pas? Et finalement, c'est peut-être ça la différence la plus fondamentale entre Perl et Python: pour Python, il n'y a qu'une seule bonne manière de faire, tu n'as pas le droit de faire comme tu veux, alors que Perl te laisse choisir la meilleure façon de faire. Perl te donne la liberté de faire ce que tu veux, avec le risque, bien entendu, que tu ne choisisses pas la meilleure manière, mais c'est comme ça, Perl te traite comme un adulte. A toi de faire tes choix.
Et si tu choisis la mauvaise manière (c'est-à-dire, par exemple, si tu choisis Python au lien de Perl ), eh bien tant pis, c'est ta liberté, tu as le droit de faire des erreurs.
- La programmation fonctionnelle en Perl : 1. Les opérateurs de liste; 2. Les fonctions d'ordre supérieur; 3. Étendre le langage.
- Comment utiliser des décorateurs en Perl: Un tutoriel pour changer le comportement d'une fonction sans en modifier le code source
- De Perl 5 à Perl 6 : 1. Les bases; 2. Les nouveautés; 3. Approfondissements; 4. Annexe 1: Ce qui change entre Perl 5 et Perl 6; Annexe 2: Les nouveautés de Perl 6.
- Les regex et grammaires de Perl 6
- Objets, classes et rôles en Perl 6 - Tutoriel de programmation orientée objet
- Tour d'horizon du nouveau langage Perl 6
J'avais d'abord choisi de ne pas répondre à ta question, pour les même raisons que lolo.
J'ajouterais cependant à ce qu'il a dit (auquel j'adhère à 100%), que choisir Perl donne plus de liberté et donc plus responsabilité au programmeur (et comme il dit, avec les risques que cela entraine). Choisir Python, c'est entrer dans un cadre syntaxique/sémantique plus contraint.
Avec l'expérience, je dirais que les risques restent limités si l'on entretient régulièrement sa pratique du langage. Il y a une quinzaine d'années, j'ai du monter une équipe pour porter une application de test automatique de C vers un autre langage (utilisait une liaison série, et orientée analyse de texte). A l'époque, je connaissais perl, j'ai donc opté pour ce langage (dans la boite, un autre outil de test, développé par une autre équipe, était écrit en python). J'ai formé 3 ingénieurs à développer en perl (l'un deux, très motivé est devenu program leader). Au final, les deux outils (en perl et en python) ont cohabité au sein des systèmes U*ix, puis Windows. Le constat que je peux faire à postériori, c'est que la maintenance de ces outils était plutôt l'affaire de l'expert du langage utilisé (dans les deux cas). Aujourd'hui encore, alors que j'ai changé de domaine d'application, je continue d'utiliser perl pour tous mes outils de test. L'interface graphique (j'ai opté pour Tk) est sans doute ma plus grande source de frustration et de problèmes (développement, maintenance, mise au point, ...).
En plus de la devise perl TIMTOWTDI, ce qui peut à la fois motiver ou rebuter, c'est la densité du langage, et sa faculté à "deviner l'intention du programmeur sans qu'il n'ait à l'indiquer explicitement" (personnellement, vous aurez compris que cela me motive).
Plus j'apprends, et plus je mesure mon ignorance (philou67430)
Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
Si c'est utile, say
Et en ce qui concerne ruby vous en pensez quoi, j'ai entendu que la syntaxe ressemblait à celle du python mais avait plutôt la même philosophie que le langage Perl !
- Les meilleurs cours et tutoriels Perl et Perl 6 pour vous former ;
- FAQ Perl, Perl 6 et Perl/Tk d'entraide ;
- Les news sur la rubrique Perl ;
- S'abonner au compte Twitter de la rubrique Perl ;
- Mes tutoriels developpez.com.
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
Et dans l'apprentissage du perl, vous conseillez d'apprendre le Perl 5 ou de passer directement au nouveau Perl?
Je milite pour Perl 6, donc j'aurais envie de pouvoir dire Perl 6, mais, dans l'immédiat, je conseillerais plutôt Perl 5. L'écosystème est tout de même plus mûr.
Et les différences, bien réelles, ne sont pas si fortes qu'il soit difficile de passer de l'un à l'autre. Donc, même si tu décides dans un an de passer à Perl 6, l'investissement dans Perl 5 n'aura pas été inutile.
- La programmation fonctionnelle en Perl : 1. Les opérateurs de liste; 2. Les fonctions d'ordre supérieur; 3. Étendre le langage.
- Comment utiliser des décorateurs en Perl: Un tutoriel pour changer le comportement d'une fonction sans en modifier le code source
- De Perl 5 à Perl 6 : 1. Les bases; 2. Les nouveautés; 3. Approfondissements; 4. Annexe 1: Ce qui change entre Perl 5 et Perl 6; Annexe 2: Les nouveautés de Perl 6.
- Les regex et grammaires de Perl 6
- Objets, classes et rôles en Perl 6 - Tutoriel de programmation orientée objet
- Tour d'horizon du nouveau langage Perl 6
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager