Sumérjase en el debate de Python Vs Perl: ¿Qué debo aprender 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 el que se compara el lenguaje con el que ya está extendiendo sus raíces. Una especie de rumor a menudo se extiende en la industria de TI y el nuevo a menudo se compara en todos los aspectos, pueden ser características, sintaxis o CPU central y aspectos de memoria, incluido el tiempo de GC y todo, con el existente de este tipo.

Se pueden recoger e investigar muchos ejemplos de tales casos del pasado, incluido el debate entre Java y C #, C ++, etc. Uno de esos casos que llamó mucho la atención fue el debate entre dos lenguajes que surgieron uno tras otro en un intervalo corto, 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 "pasatiempo" (que atraería a los hackers de Unix/C) para el autor que lo nombró en honor a la serie de su mayor estrella Monty Python.

Perl era casi 2 años antes como un lenguaje de scripting de Unix que pretendía facilitar el procesamiento de informes. Era una mezcla de una combinación de muchos lenguajes, incluido C, script de shell.

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

  1. Ambos dirigidos al sistema operativo Unix, uno para piratas informáticos y otros para procesar informes.
  2. Ambos están orientados a objetos (Python es el más) e interpretados, uno de ellos está fuertemente tipado y es claro cuando se trata de codificación, es decir, Python, y otro que permite una escritura fea con llaves para representar un bloque, es decir, Perl
  3. Ambos son opuestos en principio cuando decimos que Perl tiene muchas formas de hacer una sola tarea, mientras que Python se enfoca en una y solo una forma de hacer las cosas.

Python vs Perl - Características comparadas

Profundicemos en este debate e intentemos descubrir los aspectos generales en los que estos dos idiomas se diferencian entre sí. Además, intentemos descubrir la fuente de la verdad de 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. a este debate interminable.

Python toma una gran ventaja sobre Perl cuando se trata de legibilidad de código. El código de Python es mucho más claro de entender que el de Perl incluso cuando se lee código después de años.

Con la sangría que representa el bloque de código y la estructuración adecuada, el código de Python es mucho más limpio. Por otro lado, Perl toma prestada su sintaxis de varios lenguajes de programación como C, filtros sed cuando se trata de expresiones regulares.

Aparte de esto, con '{' y '}' representando un bloque de código y la adición innecesaria de ';' al final de cada línea, el código en Perl podría convertirse un problema de entender si lo lees después de meses o años debido a que admite secuencias de comandos desagradables.

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

Además, Perl puede manejar las operaciones del sistema operativo usando funciones integradas. Por otro lado, Python tiene bibliotecas de terceros para las operaciones, es decir, re para regex y os, sys para operaciones de os que deben asegurarse antes de realizar dichas operaciones.

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

Ejemplo: considere un programa para buscar un dígito 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 fácil y está inspirada en el comando sed que aprovecha la sintaxis de Python que importa el módulo de terceros "re".

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

Además, escribir 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 eventualmente difíciles de entender más adelante.

Por otro lado, Perl es mejor por sus frases breves que se pueden usar en la línea de comandos para realizar las 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 abreviado de ambos idiomas que destaca 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
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 los pros y los contras de Python y Perl.

  1. Tiene una sintaxis limpia y elegante que hace que este lenguaje sea una gran elección como el primer lenguaje de programación para principiantes que quieren tener una experiencia práctica en cualquier lenguaje de programación.
  2. Tiene una programación OO muy avanzada e inherente, también la programación de subprocesos en Python es mucho mejor que Perl.
  3. Hay muchas áreas de aplicación en las que se prefiere Python e incluso supera a Perl. Me gusta: Perl es el preferido para la creación de scripts CGI, pero hoy en día los lenguajes de script web Django y web2py de Python se están volviendo más populares y tienen una gran atracción en la industria.
  4. Tiene varios contenedores SWIG para diferentes lenguajes de programación como CPython, IronPython y Jython y el desarrollo de estos ha precedido al desarrollo de contenedores SWIG para Perl.
  5. El código Python siempre está bien sangrado y es fácil de leer y comprender, incluso si está leyendo el código de otra persona o incluso su código después de años.
  6. Python es bueno para varias aplicaciones como Big Data, Infra Automation, Machine Learning, NLP, etc., tiene un gran apoyo de comunidades activas debido a que es de código abierto.

  1. Hay pocas áreas en las que la ejecución en Python suele ser más lenta que la de Perl, incluidas las operaciones basadas en cadenas y expresiones regulares.
  2. A veces es difícil obtener el tipo de variable en Python, ya que en casos de código muy grande, tienes que ir hasta el final para obtener un tipo de variable que se vuelve agitado y complejo.

  1. Perl tiene una sola línea poderosa e incluso asegura una sintaxis tipo tubería UNIX que se puede usar en la línea de comandos para realizar varias tareas, también está influenciado por Unix y su programación de línea de comandos, por lo que integra muchos comandos influenciados por UNIX en su codificación .
  2. Perl es conocido por sus poderosas operaciones de comparación de cadenas y expresiones regulares, ya que está influenciado por sed y awk como potentes herramientas UNIX. En el caso de operaciones de expresiones regulares y cadenas como sustitución, coincidencia, reemplazo, Perl supera a Python, lo que requeriría algunas líneas de código para lograr lo mismo. Además, muchas operaciones de E/S de archivos, el manejo de excepciones se realiza más rápido en Perl.
  3. Cuando se trata de un lenguaje para la generación de informes, Perl siempre ha tenido fama desde su introducción como una de las principales razones por las que el autor desarrolló un lenguaje como Perl para la generación de informes.
  4. Muchas áreas de aplicación donde Perl encuentra su uso son Programación de Red, Administración de Sistemas, Scripting CGI (aquí Python está superando a Perl con Django y web2py), etc.
  5. Es fácil identificar el tipo de variable con los símbolos que Perl usa antes que ellos, como: '@' identifica matrices y '%' identifica hashes.

  1. Perl tiene un código muy complejo que lo hace difícil de entender para un principiante. Las subrutinas, e incluso otros símbolos como: '$\"' , '$&' , etc.son difíciles de entender y programar para un programador menos experimentado. Además, el código Perl cuando leer sería difícil y complejo de entender a menos que tenga una experiencia de calidad.
  2. La programación OO en Perl está un poco desactualizada, ya que nunca se ha conocido por la programación OO y muchas operaciones como el subproceso también son menos pronunciadas en Perl.

Conclusión

Como se vio anteriormente, donde ambos lenguajes son buenos en lo que respecta a las aplicaciones a las que se dirigen, Python tiene un poco de ventaja sobre Perl como primera opción para un principiante debido a su código limpio y fácil de entender, mientras que, por otro lado, Perl supera a Python. cuando se trata de operaciones de manipulación de cadenas y algunas frases sencillas avanzadas para UNIX como OS y varias otras operaciones por las que es conocido.

Entonces, al final, todo depende del área específica a la que te diriges. Todos sus comentarios sobre este artículo son bienvenidos y le solicitamos que brinde sus puntos de vista sobre el tema si, según usted, Python gana o Perl.