Recherche de site Web

Plongez dans le débat Python vs Perl - Que dois-je apprendre Python ou Perl ?


Souvent, lorsqu’un nouveau langage de programmation est introduit, il y a un débat qui s’ouvre parmi certains des esprits géniaux de l’industrie, dans lequel le langage est comparé à celui qui étend déjà ses racines. Une sorte de buzz se répand souvent dans l’industrie informatique et le nouveau est souvent comparé sur tous les aspects, qu’il s’agisse des fonctionnalités, de la syntaxe ou des aspects de base du processeur et de la mémoire, y compris le temps GC et tout, avec l’existant de son genre.

De nombreux exemples de tels cas peuvent être repris et étudiés dans le passé, y compris le débat entre Java et C#, C++, etc. L’un de ces cas qui a attiré beaucoup d’attention est le débat entre deux langages qui sont sortis l’un après l’autre en peu de temps, c’est-à-dire Python et Perl.

Alors que Python a été inventé à l’origine comme un successeur du langage ABC, simplement comme un projet de programmation « hobby » (qui attirerait les hackers Unix/C) pour l’auteur, qui l’a nommé d’après la série de sa plus grande star, Monty Python.

Lecture suggérée : Premiers pas avec la programmation Python et les scripts sous Linux

Perl était presque 2 ans plus tôt en tant que langage de script Unix destiné à faciliter le traitement des rapports. C’était un mélange d’une combinaison de plusieurs langages, dont C, awk, sed et shell script.

Ce qui vaut la peine d’être noté, c’est que ces langues qui ont évolué à partir d’intentions différentes sont constamment comparées, ce qui m’a fait étudier et comprendre les raisons, dont certaines importantes sont énumérées ci-dessous :

  1. Les deux ciblaient le système d’exploitation Unix, l’un pour les pirates et l’autre pour traiter les rapports.
  2. Les deux sont orientés objet (Python étant le plus) et interprétés, l’un étant fortement typé et clair lorsqu’il s’agit de coder, c’est-à-dire Python, et l’autre permettant un typage laid avec des accolades pour représenter un bloc, c’est-à-dire Perl
  3. Les deux sont opposés en principe lorsque nous disons que Perl a plusieurs façons de faire une seule tâche tandis que python se concentre sur une seule et unique façon de faire les choses.

Python vs Perl - Fonctionnalités comparées

Plongeons dans ce débat et essayons de comprendre les aspects globaux où ces deux langues se différencient l’une de l’autre. Essayons également de découvrir la source de la vérité pour de nombreux clichés que l’on peut entendre dans l’industrie disant « Python est Perl avec des roues d’entraînement » ou « Python est similaire à Perl mais différent » afin que nous puissions essayer de conclure avec une solution précise à ce débat sans fin.

1. La syntaxe propre de Python vs la syntaxe complexe de Perl

Python prend un énorme avantage sur Perl en ce qui concerne la lisibilité du code. Le code de Python est beaucoup plus clair à comprendre que celui de Perl, même en lisant du code après des années.

Avec une indentation représentant le bloc de code, et une structure appropriée, le code de Python est beaucoup plus propre. D’autre part, Perl emprunte sa syntaxe à divers langages de programmation comme le C, le shell scripting et même les filtres awk et sed lorsqu’il s’agit d’expressions régulières.

Suggéré pour : 15 commandes 'sed' utiles pour les tâches quotidiennes d’administration du système Linux

En dehors de cela, avec '{' et '}' représentant un bloc de code et l’ajout inutile de ' ;' à la fin de chaque ligne, le code en Perl pourrait devenir un problème à comprendre si vous le lisez après des mois ou des années en raison de sa tolérance de script laid.

2. Prise en charge des regex et des opérations du système d’exploitation intégrées de Perl par rapport aux entités secondaires tierces de Python

Le langage Perl emprunte sa syntaxe à C et à d’autres commandes UNIX telles que sed, awk, etc., ce qui lui permet de disposer d’un support regex intégré très puissant sans importer de modules tiers.

De plus, Perl peut gérer les opérations du système d’exploitation à l’aide de fonctions intégrées. D’autre part, Python dispose de bibliothèques tierces pour les deux opérations, c’est-à-dire re pour regex et os, sys pour les opérations os qui doivent être assurées avant de faire de telles opérations.

Les opérations regex de Perl ont une syntaxe de type 'sed' qui facilite non seulement les opérations de recherche, mais aussi le remplacement, la substitution et d’autres opérations sur une chaîne peuvent être effectuées facilement et rapidement que python où une personne a besoin de connaître et de se souvenir des fonctions qui répondent au besoin.

exemple: Considérez un programme pour rechercher un chiffre dans la chaîne en Perl et Python.

Import re
str = ‘hello0909there’
result = re.findall(‘\d+’,str)
print result
$string =  ‘hello0909there’;
$string =~ m/(\d+)/;
print “$& \n”

Vous voyez, la syntaxe de Perl est très simple et inspirée de la commande sed qui tire parti de la syntaxe de Python qui importe le module tiers 're'.

3. La programmation OO avancée de Python vs les One-liners de Perl

Une caractéristique où Python éclipse Perl est sa programmation OO avancée. Python dispose d’un support étendu de programmation orientée objet avec une syntaxe propre et cohérente tandis que l’objet OOP en Perl est obsolète où le paquet est utilisé comme substitut des classes.

Lecture suggérée : Premiers pas avec Python Django Web Framework

De plus, écrire du code OO en Perl ajoutera beaucoup plus de complexité au code, ce qui finira par rendre le code difficile à comprendre, même les sous-programmes en Perl sont très difficiles à programmer et finalement difficiles à comprendre plus tard.

D’un autre côté, Perl est le meilleur pour ses one-liners qui peuvent être utilisés sur la ligne de commande pour effectuer les différentes tâches. De plus, le code Perl peut éventuellement effectuer diverses tâches en moins de lignes de code que python.

Un exemple de code court des deux langages qui met en évidence la capacité de Perl à faire plus avec moins de LOC :

try:
with open(“data.csv”) as f:
for line in f:
print line,
except Exception as e:
print "Can't open file - %s"%e
open(FILE,”%lt;inp.txt”) or die “Can’t open file”;
while(<FILE>) {
print “$_”; } 

Avantages et inconvénients – Python vs Perl

Dans cette section, nous allons discuter des avantages et des inconvénients de Python et de Perl.

Avantages de Python :

  1. Il a une syntaxe propre et élégante qui fait de ce langage un excellent choix comme premier langage de programmation pour les novices qui veulent avoir la main sur n’importe quel langage de programmation.
  2. A une programmation OO très avancée et inhérente, la programmation de thread en Python est bien meilleure que Perl.
  3. Il existe de nombreux domaines d’application où Python est préféré et même il surpasse Perl. comme: Perl est préféré pour les scripts CGI, mais de nos jours, Django de Python et les langages de script Web de type web2py deviennent plus populaires et ont un énorme attrait de l’industrie.
  4. Possède plusieurs wrappers SWIG pour différents langages de programmation tels que CPython, IronPython et Jython et le développement de ceux-ci a précédé le développement des wrappers SWIG pour Perl.
  5. Le code Python est toujours bien indenté et facile à lire et à comprendre, même si vous lisez le code de quelqu’un d’autre ou même votre code après des années.
  6. Python est bon pour diverses applications telles que le Big Data, l’automatisation des infrastructures, l’apprentissage automatique, le NLP, etc., il bénéficie d’un énorme soutien des communautés actives en raison de son Open Source.

INCONVÉNIENTS de Python :

  1. Il y a peu de domaines où l’exécution en Python est généralement plus lente que celle de Perl, y compris les expressions régulières et les opérations basées sur des chaînes.
  2. Parfois, il est difficile d’obtenir le type de variable en Python car dans les cas de code très volumineux, il faut aller jusqu’à la fin pour obtenir un type de variable qui devient mouvementé et complexe.

Avantages de Perl :

  1. Perl a des one-liners puissants et assure même une syntaxe de type tuyauterie UNIX qui peut être utilisée sur la ligne de commande pour effectuer diverses tâches, il est également influencé par Unix et sa programmation en ligne de commande intègre donc de nombreuses commandes influencées par UNIX dans son codage.
  2. Perl est connu pour ses puissantes opérations de comparaison d’expressions régulières et de chaînes, car il est influencé par sed et awk comme de puissants outils UNIX. Dans le cas d’opérations regex et de chaînes de caractères comme la substitution, la correspondance, le remplacement, Perl surpasse python qui prendrait quelques lignes de code pour obtenir la même chose. De plus, de nombreuses opérations d’E/S de fichiers, la gestion des exceptions se fait plus rapidement sur Perl.
  3. Lorsqu’il s’agit d’un langage pour la génération de rapports, Perl a toujours été célèbre depuis son introduction comme l’une des principales raisons pour lesquelles l’auteur a développé un langage comme Perl l’était pour la génération de rapports.
  4. De nombreux domaines d’application où Perl trouve son utilisation sont la programmation réseau, l’administration système, les scripts CGI (ici Python dépasse Perl avec Django et web2py), etc.
  5. Il est facile d’identifier le type de variable avec les symboles que Perl utilise avant eux, comme : '@' identifie les tableaux et ' %' identifie les hachages.

INCONVÉNIENTS PERL :

  1. Perl a un code très complexe qui le rend difficile à comprendre pour un novice. Les sous-programmes, et même d’autres symboles tels que : '$'', '$&', etc., sont difficiles à comprendre et à programmer pour un programmeur moins expérimenté. De plus, le code Perl lorsqu’il est lu serait difficile et complexe à comprendre à moins que vous n’ayez une expérience de qualité.
  2. Oo La programmation en Perl est un peu dépassée car elle n’a jamais été connue pour la programmation OO et de nombreuses opérations comme le threading sont également moins prononcées sur Perl.

Conclusion

Comme nous l’avons vu ci-dessus, où les deux langages sont bons à leur égard en ce qui concerne les applications qu’ils ciblent, Python prend un peu l’avantage sur Perl en tant que premier choix pour un novice en raison de son code propre et facile à comprendre, tandis que d’autre part, Perl surpasse Python en ce qui concerne les opérations de manipulation de chaînes et certaines lignes avancées pour UNIX comme le système d’exploitation et diverses autres opérations pour lesquelles il est connu.

Donc, en fin de compte, tout dépend de la zone spécifique que vous ciblez. Tous vos commentaires sur cet article sont les bienvenus et vous demanderaient de donner votre avis sur le sujet si, selon vous, Python gagne ou Perl.

Articles connexes: