Bucear en el debate de Python vs Perl - ¿Qué debo aprender Python o Perl??

Bucear 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 en la industria en la que el lenguaje se compara con el que ya difunde sus raíces. Un tipo de zumbido a menudo se propaga en la industria de TI y el nuevo a menudo se compara en cada aspecto, que luego sean características, sintaxis o aspectos de memoria de CPU y memoria, incluido el tiempo de GC y todo, con el existente de su tipo.

Muchos ejemplos de tales casos pueden ser recogidos e investigados del pasado, incluido el debate entre Java y C#, C++, etc. Uno de esos casos que atrajo una cantidad significativa de atención fue el debate entre dos idiomas que salieron uno tras otro en un corto lapso I.mi. Pitón y Perl.

Mientras Pitón fue inventado inicialmente como un sucesor del lenguaje ABC simplemente como un "pasatiempo"Proyecto de programación (que atraería a los piratas informáticos Unix/C) para el autor que lo nombró después de la serie de su mayor estrella Monty Python.

Leer sugerido: Comenzando con la programación de Python y las secuencias de comandos en Linux

Perl Era casi alrededor de 2 años antes como un lenguaje de secuencias de comandos UNIX que tenía la intención de facilitar el procesamiento de informes. Era una mezcla de una combinación de muchos idiomas, incluido C, Script Awk, Sed y Shell.

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

  1. Ambos sistema operativo UNIX objetivo, uno para hackers y otros para procesar informes.
  2. Ambos están orientados a objetos (Python es más) e interpretados, uno es fuertemente escrito y claro cuando se trata de codificar i.mi. Python, y otros que permiten la escritura fea con aparatos ortopédicos para representar un bloqueo I.mi. 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 única forma de hacer las cosas.

Python vs Perl - Características en comparación

Vamos a profundizar en este debate e intentamos descubrir los aspectos generales donde estos dos idiomas se diferencian entre sí. Además, 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 a este debate interminable.

1. Python's Clean vs Perl's Complex Syntax

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 que el de Perl incluso cuando lee 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 otro lado, Perl toma prestado su sintaxis de varios lenguajes de programación como C, Scripting de shell e incluso filtros AWK y SED cuando se trata de expresiones regulares.

Leer sugerido: 15 comandos útiles 'sed' para tareas de administración del sistema Linux diario

Aparte de esto, con '' y '' representar un bloque de código y 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 lee después de meses o años debido a su subsidio de scriptios feos.

2. El soporte de operaciones de terceros y operaciones de terceros de Python, de Python, de Python

El lenguaje perl presta su sintaxis de C y otra Desastre comandos como sed, asombrar, etc. Debido a lo cual tiene un soporte regexual muy potente y incorporado sin importar módulos de terceros.

También, Perl puede manejar las operaciones del sistema operativo utilizando funciones incorporadas. Por otro lado, Pitón tiene bibliotecas de terceros para ambas operaciones i.mi. re para regular y OS, SYS para operaciones de SO que deben garantizarse antes de realizar tales operaciones.

Las operaciones de Regex de Perl tienen 'sed'Al igual que la sintaxis, lo que hace que sea fácil no solo para las operaciones de búsqueda, sino también reemplazar, sustituir y otras operaciones en una cadena se pueden hacer fácil y rápidamente que Python, donde una persona necesita conocer y recordar las funciones que satisfacen la necesidad.

Ejemplo: Considere un programa para buscar un dígito en la cadena en perl y Pitón.

Pitón
Import re str = 'Hello0909There' resultado = re.Resultado de impresión findall ('\ d+', str) 
Perl
$ String = 'Hello0909Thee'; $ string = ~ m/(\ d+)/; Imprimir "$ y \ n" 

Ves la sintaxis para Perl es muy fácil e inspirado en el comando SED que aprovecha Pitón Sintaxis que importa un módulo de terceros 're'.

3. Programación OO avanzada de Python vs PERL's One-Finers

Una característica donde Pitón eclipsar Perl es su avanzado Oo programación. Pitón tiene un amplio soporte de programación orientado a objetos con sintaxis limpia y consistente, mientras que el objeto Oop en Perl estar desactualizado donde el paquete se usa como sustituto de las clases.

Leer sugerido: Comenzando con el marco web de Python Django

Además, escribiendo Oo El código en Perl agregará mucha más complejidad al código, lo que eventualmente haría que el código sea difícil de entender, incluso las subrutinas en Perl son muy difíciles de programar y eventualmente son difíciles de entender más tarde.

Por otro lado, Perl es mejor para sus frases individuales que se pueden usar en la línea de comando para realizar las diversas tareas. Además, el código PERL eventualmente puede hacer varias tareas en menos líneas de código que Python.

Un ejemplo de código corto de ambos idiomas que destaca la capacidad de Perl para hacer más en menos LOC:

Pitón
Prueba: con Open ("Datos.CSV ”) AS F: Para la línea en F: Línea de impresión, excepto la excepción como E: Imprimir" No se puede abrir el archivo - %S " %E 
Perl
Abrir (archivo ",%LT; INP.txt ") o morir" no se puede abrir archivo "; while () imprimir "$ _";  

Pros y contras - Python vs Perl

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

Python Pros:

  1. Tiene una sintaxis limpia y elegante que hace de este lenguaje una gran opción como el primer lenguaje de programación para los novatos que desean tener un lenguaje práctico en cualquier lenguaje de programación.
  2. Tiene muy avanzado e inherente Oo Programación, también la programación de hilos en Python es mucho mejor que Perl.
  3. Hay muchas áreas de aplicación donde se prefiere Python y incluso supera a Perl. Como: Se prefiere perl para secuencias de comandos CGI, pero hoy en día Python's Django y Web2py Al igual que los idiomas de secuencias de comandos web, se están volviendo más populares y tienen una gran atracción de la industria.
  4. Tiene varias TRAGO envoltorios para diferentes lenguajes de programación como Cpython, Ironpython y Jython y el desarrollo de estos ha precedido al desarrollo de envoltorios de trago para Perl.
  5. El código de 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 automatización, Aprendizaje automático, PNLP, etc, tiene un gran apoyo a las comunidades activas debido a ser de código abierto.

Contras de Python:

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

Pros de perl:

  1. Perl tiene frases individuales potentes e incluso garantiza una tubería de Unix como la sintaxis que puede usarse en la línea de comandos para realizar varias tareas, también está influenciada por Unix y su programación de la línea de comandos, por lo que integra muchos comandos influenciados por Unix en su codificación.
  2. Perl es conocido por su poderoso regular y operaciones de comparación de cadenas como está influenciado por sed y asombrar Como poderosas herramientas Unix. En el caso de las operaciones regex y de cadena como sustitución, pareo, reemplazo, Perl supera a Python, que tomaría algunas líneas de código para lograr lo mismo. También 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 idioma para la generación de informes, Perl siempre ha estado en fama desde su introducción como una de las principales razones para que el autor desarrolle un lenguaje como Perl fue para la generación de informes.
  4. Muchas áreas de aplicación donde Perl encuentra su uso es Programación de red, Administracion del sistema, Secuencia de comandos 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.

Contras de perl:

  1. Perl tiene un código muy complejo que hace que sea difícil de entender para un novato. Subrutinas e incluso otros símbolos como: ps, ps ETC son difíciles de entender y programar para un programador menos experimentado. Además, el código de Perl cuando se lee sería difícil y complejo de entender a menos que tenga una experiencia de calidad.
  2. Oo La programación en Perl está un poco desactualizada, ya que nunca se ha conocido por Oo La programación y muchas operaciones como los subprocesos también son menos pronunciadas en Perl.

Conclusión

Como se ve arriba, donde ambos idiomas son buenos en su sentido, según las aplicaciones a las que se dirigen, Pitón toma un poco de ventaja sobre Perl Como primera opción para un novato 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 avanzadas para unix como OS y otras operaciones por las que se conoce.

Entonces, al final, todo está en el área específica al que se dirige. Todos sus comentarios en este artículo son bienvenidos y le solicitaría que dé sus puntos de vista sobre el tema si de acuerdo con usted Python gana o Perl.