Sumérjase en Python Vs Perl Debate: ¿Qué debo aprender sobre Python o Perl?


A menudo, cuando se introduce un nuevo lenguaje de programación, hay un debate que comienza entre algunas de las mentes geniales de la industria en las que el lenguaje se compara con el que ya está extendiendo sus raíces. Un tipo de zumbido a menudo se propaga en la industria de TI y el nuevo se compara a menudo en cada aspecto, ya sea características, sintaxis o CPU central y aspectos de la memoria, incluido el tiempo de GC y todo, con el existente de su tipo.

Muchos ejemplos de estos casos pueden recogerse e investigarse en el pasado, incluido el debate entre Java y C # , C ++ etc. Uno de tales casos, que una gran cantidad de atención fue el debate entre dos idiomas, que surgió uno tras otro en un breve lapso, es decir, Python y Perl .

Mientras que Python se inventó inicialmente como un sucesor del lenguaje ABC simplemente como un proyecto de programación de afición (que atraería a hackers de Unix/C) para el autor que lo nombró después serie de su estrella más grande Monty Python .

Perl fue casi 2 años antes como un lenguaje de scripts de Unix que pretendía facilitar el procesamiento de informes. Fue una mezcla de combinación de muchos idiomas, incluidos C , awk, sed y shell script.

Lo que vale la pena señalar es que estos lenguajes que evolucionaron de diferentes intenciones se comparan constantemente, lo que me ha hecho estudiar y descubrir las razones, de las cuales algunas importantes se enumeran a continuación:

  1. Both targeted Unix Operating System, one for hackers and other to process reports.
  2. Both are object oriented (Python being the more) and interpreted, with one being strongly typed and clear when it comes to coding i.e. Python, and other allowing ugly typing with braces for representing a block i.e. Perl
  3. Both are opposite in principle when we say, Perl has many ways of doing a single task while python focuses on one and only one way of doing things.

Python vs Perl - Características comparadas

Vamos a profundizar en este debate y tratar de averiguar los aspectos generales donde estos dos idiomas se diferencian entre sí. También intentemos descubrir la fuente de la verdad para muchos clichés que se pueden escuchar en la industria diciendo " Python es perl con ruedas de entrenamiento " o " Python es similar a perl pero diferente ”Para que podamos intentar concluir con una solución precisa para este debate interminable.

Python tiene una gran ventaja sobre Perl cuando se trata de la legibilidad del código. El código de Python es mucho más fácil de entender que el de Perl, incluso cuando se lee el código después de años.

Con la sangría que representa el bloque de código y la estructura adecuada, el código de Python es mucho más limpio. Por otra parte, Perl toma prestada su sintaxis de varios lenguajes de programación como: C , shell scripting e incluso filtros awk y sed cuando se trata de expresiones regulares.

Aparte de esto, con '{' y '}' representando un bloque de código y una adición innecesaria de ';' al final de cada línea, el código en Perl podría convertirse en un problema para entender si lo lees después de meses o años debido a su permiso de scripting feo.

El lenguaje Perl toma prestada su sintaxis de C y otros comandos UNIX como sed , awk etc., debido a que tiene Es muy potente y está integrado en el soporte de expresiones regulares sin importar ningún módulo de terceros.

Además, Perl puede manejar las operaciones del sistema operativo usando funciones integradas. Por otra parte, Python tiene bibliotecas de terceros para las operaciones, es decir, re para regex y os, sys para las operaciones de sistema operativo que deben ser Asegurado antes de hacer tales operaciones.

Las operaciones de expresiones regulares de Perl tienen una sintaxis " sed " que facilita no solo las operaciones de búsqueda, sino también las operaciones de reemplazo, sustitución y otras en cadena que se pueden realizar de manera fácil y rápida que Python, donde una persona necesita saber y Recuerda las funciones que atienden a la necesidad.

Ejemplo: : Considere un programa para buscar dígitos en la cadena en Perl y Python .

Import re
str = ‘hello0909there’
result = re.findall(‘\d+’,str)
print result

$string =  ‘hello0909there’;
$string =~ m/(\d+)/;
print “$& \n”

Verá que la sintaxis de Perl es muy sencilla e inspirada por el comando sed que se aprovecha de la sintaxis de Python que importa el módulo de terceros "re" .

Una característica en la que Python sobrepasa a Perl es su programación avanzada de OO . Python tiene un amplio soporte de programación orientada a objetos con una sintaxis clara y coherente, mientras que el objeto OOP en Perl está desactualizado, donde el paquete se utiliza como sustituto de las clases.

Además, escribir el código OO en Perl agregará mucha más complejidad al código, lo que eventualmente hará que el código sea difícil de entender, incluso las subrutinas en Perl son muy difíciles de programar y, finalmente, difíciles de entender más adelante.

Por otro lado, Perl es el mejor para sus liners, que se pueden usar en la línea de comandos para realizar diversas tareas. Además, el código Perl puede eventualmente realizar varias tareas en menos líneas de código que python.

Un ejemplo de código corto de ambos idiomas que resalta la capacidad de Perl para hacer más en menos 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

Sintaxis> Perl

open(FILE,”%lt;inp.txt”) or die “Can’t open file”;
while(<FILE>) {
print “$_”; } 

Pros y Contras - Python vs Perl

En esta sección discutiremos sobre los pros y los contras de Python y Perl.

  1. Has a clean and elegant syntax which makes this language a great choice as first programming language for novices who want to have a hands-on on any programming language.
  2. Has very advanced and inherent OO Programming, also thread programming in Python is way better than Perl.
  3. There are many application areas where Python is preferred and even it outperforms Perl. Like: Perl is preferred for CGI scripting but now a days Python’s Django and web2py like web scripting languages are becoming more popular and have huge attraction from the industry.
  4. Has several SWIG wrappers for different programming languages like: CPython, IronPython and Jython and development of these has preceded the development of SWIG wrappers for Perl.
  5. Python code is always well indented and easy to read and understand even if you are reading someone else’s code or even your code after years.
  6. Python is good for various applications like: Big Data, Infra Automation, Machine Learning, NLP etc, is has huge support of active communities because of being Open Source.
  1. There are few areas where execution in Python is usually slower than that of Perl including: regex and string based operations.
  2. Sometimes it is difficult to get the type of variable in Python as in cases of very large code, you have to go till the end to get type of the variable which gets hectic and complex.
  1. Perl has powerful one liners and even ensures UNIX piping like syntax which can be used on command line to perform various tasks, also it is influenced by Unix and its command line programming so integrates many UNIX influenced commands in its coding.
  2. Perl is known for its powerful regex and string comparison operations as it is influenced by sed and awk like powerful UNIX tools. In case of regex and string operations like: substitution, matching, replacement, Perl outperforms python which would take few lines of code to achieve the same. Also many file I/O operations, exception handling are done faster on Perl.
  3. When it comes to a language for report generation, Perl has always been in the fame since its introduction as one of the main reasons for author to develop language like Perl was for report generation.
  4. Many application areas where Perl finds its use are Network Programming, System Administration, CGI Scripting (here Python is overcoming Perl with Django and web2py) etc.
  5. It is easy to identify type of variable with the symbols that Perl uses before them, like: ‘@’ identifies arrays and ‘%’ identifies hashes.
  1. Perl has very complex code which makes it difficult to understand for a novice. Subroutines, and even other symbols like: ‘$`’, ‘$&’ etc are hard to understand and program for a less experienced programmer. Also, Perl code when read would be difficult and complex to understand unless you have a quality experience.
  2. OO Programming in Perl is a bit out of date as it has never been known for OO programming and many operations like: threading is also less pronounced on Perl.

Conclusión

Como se vio anteriormente donde ambos idiomas son buenos en su aspecto según las aplicaciones a las que se dirigen, Python toma un poco de ventaja sobre Perl como primera opción para un principiante debido a código limpio y fácil de entender, donde, por otra parte, Perl supera a Python cuando se trata de operaciones de manipulación de cadenas y algunos liners avanzados para UNIX como el sistema operativo y otras operaciones por las que es conocido.

Así que al final todo está en el área específica a la que te diriges. Todos sus comentarios sobre este artículo son bienvenidos y le pediremos que nos dé su opinión sobre el tema si, según usted, Python wins o Perl.

Todos los derechos reservados © Linux-Console.net • 2019-2021