Taucht déif an Python vs Perl Debatt - Wat soll ech Python oder Perl léieren?


Dacks wann eng nei Programméierungssprooch agefouert gëtt, gëtt et eng Debatt déi ënner e puer vun de Genie Geescht an der Industrie ufänkt, an där d'Sprooch vergläicht mat deem, dee scho seng Wuerzelen verbreet. Eng Aart vu Buzz verbreet sech dacks an der IT Industrie an deen neie gëtt dacks op all Aspekt verglach, kann et dann Feature sinn, Syntax oder Kär CPU a Gedächtnisaspekter abegraff GC Zäit an all, mat der existéierter vu senger Aart.

Vill Beispiller vun esou Fäll kënnen aus der Vergaangenheet opgeholl an ënnersicht ginn, dorënner d'Debatt tëscht Java an C#, C++, etc. Een esou Fall, dee bedeitend opmierksam gemaach huet, war d'Debatt tëscht zwou Sproochen, déi een nom aneren erauskomm sinn an eng kuerz span dh Python a Perl.

Wou de Python am Ufank als Nofolger vun der ABC Sprooch erfonnt gouf nëmmen als Hobby Programméierungsprojet (wat Unix/C Hacker unzitt) fir den Auteur deen et no der Serie vu sengem gréisste Stär Monty Python benannt huet.

Perl war just bal ongeféier 2 Joer virdru als Unix Skriptsprooch déi virgesi war fir Berichtveraarbechtung méi einfach ze maachen. Et war eng Mëschung aus enger Kombinatioun vu ville Sproochen dorënner C, Shell Skript.

D'Saach, déi ze bemierken ass, ass datt dës Sproochen, déi vu verschiddenen Intentiounen evoluéiert sinn, stänneg verglach ginn, wat mech gemaach huet d'Grënn ze studéieren an erauszefannen, vun deenen e puer wichteg sinn wéi hei ënnen opgezielt:

  1. Béid gezielt Unix Betribssystem, ee fir Hacker an anerer fir Berichter ze veraarbecht.
  2. Béid sinn objektorientéiert (Python ass des méi) an interpretéiert, mat engem staark getippten a kloer wann et ëm Kodéierung geet, dh Python, an aner erlaabt ellent Tippen mat Klameren fir e Block z.B. Perl ze representéieren
  3. Béid sinn am Prinzip Géigendeel wa mir soen, Perl huet vill Weeër fir eng eenzeg Aufgab ze maachen, während de Python sech op eng an nëmmen eng Manéier konzentréiert fir Saachen ze maachen.

Python vs Perl - Features Verglach

Loosst eis déif an dës Debatt tauchen a probéieren déi allgemeng Aspekter erauszefannen, wou dës zwou Sproochen sech vuneneen ënnerscheeden. Loosst eis och probéieren d'Quell vun der Wourecht fir vill Clichéen erauszefannen, déi an der Industrie héieren kënne ginn Python ass Perl mat Trainingsrieder oder Python ass ähnlech wéi Perl awer anescht, sou datt mir probéieren mat engem korrekt Léisung fir dës onendlech Debatt.

Python hëlt e grousse Virdeel iwwer Perl wann et ëm Code Liesbarkeet kënnt. De Python Code ass vill méi kloer ze verstoen wéi dee vu Perl och wann Dir Code no Joeren liest.

Mat Indentatioun representéiert de Block vum Code, a richteg Strukturéierung, ass de Python Code vill méi propper. Op der anerer Säit léint Perl seng Syntax vu verschiddene Programméierungssprooche wéi C, sed Filtere wann et ëm reegelméisseg Ausdréck kënnt.

Ofgesi vun dësem, mat '{' an '}' déi e Codeblock representéieren an onnéideg Zousatz vun ';' um Enn vun all Zeil, kéint de Code an Perl ginn e Problem fir ze verstoen wann Dir et no Méint oder Joer liest wéinst senger Erlaabnes vun ellent Scripting.

Perl Sprooch léint seng Syntax vu C an aner UNIX Kommandoen wéi sed, awk, etc.

Och Perl kann OS Operatiounen mat agebaute Funktiounen handhaben. Op der anerer Säit huet Python Drëtt-Partei-Bibliothéike fir béid Operatiounen dh re fir Regex an OS, sys fir OS Operatiounen déi musse geséchert ginn ier Dir esou Operatiounen maacht.

Dem Perl seng Regex Operatiounen hunn 'sed' wéi Syntax wat et einfach mécht net nëmme fir Sichoperatiounen, awer och Ersatz, Ersatz an aner Operatiounen op engem String kënnen einfach a séier gemaach ginn wéi Python, wou eng Persoun d'Funktioune muss wëssen an erënneren, déi de Besoin.

Beispill: Betruecht e Programm fir eng Ziffer an der String an Perl a Python ze sichen.

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

Dir gesitt datt d'Syntax fir Perl ganz einfach ass an inspiréiert vum sed Kommando deen iwwer dem Python Syntax profitéiert deen Drëtt Partei Modul 're' importéiert.

Eng Feature wou Python Perl iwwerschësseg ass seng fortgeschratt OO Programméierung. Python huet extensiv objektorientéiert Programméierungs-Ënnerstëtzung mat propper a konsequent Syntax, während den Objet OOP an Perl veroudert ass, wou de Package als Ersatz fir Klassen benotzt gëtt.

Och, Schreiwen OO Code am Perl wäert vill méi Komplexitéit un de Code bäidroen, wat schlussendlech de Code schwéier ze verstoen géif maachen, och Subroutinen zu Perl si ganz schwéier ze programméieren a schliisslech schwéier ze verstoen spéider.

Op der anerer Säit ass Perl am Beschten fir seng One-Liner déi op der Kommandozeil benotzt kënne fir déi verschidden Aufgaben auszeféieren. Och Perl Code ka schliisslech verschidden Aufgaben a manner Codelinne maachen wéi Python.

E Shortcode Beispill vu béide Sproochen déi d'Perl Fäegkeet beliicht méi a manner LOC ze maachen:

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 “$_”; } 

Virdeeler an Nodeeler - Python vs Perl

An dëser Sektioun wäerte mir d'Pros a Cons vu Python a Perl diskutéieren.

  1. Et huet eng propper an elegant Syntax, déi dës Sprooch e super Choix mécht als déi éischt Programméierungssprooch fir Ufänger, déi praktesch all Programméierungssprooch wëllen hunn.
  2. Huet ganz fortgeschratt an inherent OO Programméierung, och Threadprogramméierung am Python ass vill besser wéi Perl.
  3. Et gi vill Applikatiounsberäicher wou Python bevorzugt ass a souguer e bessert wéi Perl. Wéi: Perl ass léiwer fir CGI Scripting awer hautdesdaags Python's Django a web2py wéi Web Scripting Sprooche ginn méi populär an hunn eng grouss Attraktioun aus der Industrie.
  4. Huet verschidde SWIG-Wrapper fir verschidde Programméierungssprooche wéi CPython, IronPython an Jython an d'Entwécklung vun dësen ass virun der Entwécklung vu SWIG-Wrapper fir Perl.
  5. Python Code ass ëmmer gutt agedréckt an einfach ze liesen an ze verstoen, och wann Dir de Code vun engem aneren liest oder souguer Äre Code no Joeren.
  6. Python ass gutt fir verschidden Uwendungen wéi Big Data, Infra Automation, Machine Learning, NLP, etc, et huet enorm Ënnerstëtzung vun aktive Gemeinschaften well se Open Source sinn.

  1. Et gi wéineg Beräicher wou d'Ausféierung am Python normalerweis méi lues ass wéi déi vu Perl, dorënner Regex a String-baséiert Operatiounen.
  2. Heiansdo ass et schwéier d'Zort Variabel am Python ze kréien, well a Fäll vu ganz grousse Code musst Dir bis zum Schluss goen fir eng Variabel Aart ze kréien déi hektesch a komplex gëtt.

  1. Perl huet mächteg One-Liner a garantéiert souguer UNIX Piping wéi Syntax déi op der Kommandozeil benotzt ka ginn fir verschidden Aufgaben auszeféieren, och et ass beaflosst vun Unix a senger Kommandozeilprogramméierung sou datt vill UNIX beaflosst Kommandoen a senger Kodéierung integréiert sinn. .
  2. Perl ass bekannt fir seng mächteg Regex- a Stringvergläicher Operatiounen well se beaflosst gëtt vu Sed an awk wéi mächteg UNIX Tools. Am Fall vu Regex a String Operatiounen wéi Substitutioun, Matching, Ersatz, Perl iwwerpréift Python wat e puer Zeilen Code dauert fir datselwecht z'erreechen. Och vill Fichier I/O Operatiounen, Ausnam Handhabung gëtt méi séier op Perl gemaach.
  3. Wann et ëm eng Sprooch fir Berichtgeneratioun kënnt, ass Perl zënter senger Aféierung ëmmer berühmt als ee vun den Haaptgrënn fir den Auteur Sprooch ze entwéckelen wéi Perl fir Berichtgeneratioun war.
  4. Vill Applikatiounsberäicher wou Perl seng Notzung fënnt sinn Netzwierkprogramméierung, Systemadministratioun, CGI Scripting (hei Python iwwerwannt Perl mat Django a Web2py), etc.
  5. Et ass einfach d'Zort vun der Variabel ze identifizéieren mat de Symboler déi Perl virun hinnen benotzt, wéi: '@' identifizéiert Arrays an '%' identifizéiert Hashes.< /li>

  1. Perl huet e ganz komplexe Code deen et schwéier mécht fir en Ufänger ze verstoen. Subroutinen, an och aner Symboler wéi: '$\', '$&' etc si schwéier ze verstoen an ze programméieren fir e manner erfuerene Programméierer. Och Perl Code wann liesen wier schwéier a komplex ze verstoen ausser Dir hutt eng Qualitéit Erfahrung.
  2. OO Programméierung zu Perl ass e bëssen aus dem Datum well et ni fir OO Programméierung bekannt war a vill Operatiounen wéi Threading sinn och manner ausgeschwat op Perl.

Conclusioun

Wéi uewen gesi wou béid Sprooche gutt sinn op hir Bezuch op d'Applikatiounen déi se zielen, hëlt Python e bësse Virdeel iwwer Perl als éischt Wiel fir en Ufänger wéinst sengem propperen an einfach ze verstoen Code, wärend Perl op der anerer Säit de Python iwwerpréift. wann et ëm String Manipulatioun Operatiounen kënnt an e puer fortgeschratt One-Liner fir UNIX wéi OS a verschidde aner Operatiounen ass et bekannt.

Also, um Enn ass et alles op dat spezifescht Gebitt dat Dir zielt. All Är Kommentaren zu dësem Artikel si wëllkomm a géifen Iech froen Är Meenung iwwer dëst Thema ze ginn, wann no Iech Python gewënnt oder Perl.