Ofta när ett nytt programmeringsspråk introduceras finns det en debatt som startar bland några geniala sinnen i branschen där språket jämförs med det som redan sprider sina rötter. Ett slags surr sprids ofta i IT -branschen och den nya jämförs ofta på alla aspekter då vara funktioner, syntax eller core CPU och minnesaspekter inklusive GC -tid och allt, med den befintliga av dess snäll.
Många exempel på sådana fall kan plockas upp och undersökas från det förflutna inklusive debatten mellan Java och C#, C ++, etc. Ett sådant fall som väckte en betydande uppmärksamhet var debatten mellan två språk som kom ut efter varandra på kort tid d.v.s. Pytonorm och Perl.
Medan Pytonorm uppfanns ursprungligen som en efterträdare till ABC -språket bara som en "hobby”Programmeringsprojekt (som skulle locka till Unix/C -hackare) för författaren som namngav det efter serien av hans största stjärna Monty Python.
Föreslagen läsning:Komma igång med Python -programmering och skript i Linux
Perl var nästan nästan två år tidigare som ett Unix -skriptspråk som syftade till att göra rapporteringen enklare. Det var en blandning av en kombination av många språk inklusive
C, ock, sed, och skalskript.Det som är värt att notera är att dessa språk som utvecklats av olika avsikter är ständigt jämfört, vilket har fått mig att studera och ta reda på orsakerna, till vilka några viktiga är listade som nedan:
Låt oss dyka djupt in i denna debatt och försöka ta reda på de övergripande aspekterna där dessa två språk skiljer sig från varandra. Låt oss också försöka ta reda på källan till sanningen för många klyschor som kan höras i branschen säger "Python är Perl med träningshjul”Eller”Python liknar Perl men annorlunda”Så att vi kan försöka avsluta med en korrekt lösning på denna oändliga debatt.
Python tar en enorm fördel gentemot Perl när det gäller kodläsbarhet. Pythons kod är mycket tydligare att förstå än Perl, även när man läser kod efter år.
Med indrag som representerar kodblocket och korrekt strukturering är Pythons kod mycket renare. Å andra sidan lånar Perl sin syntax från olika programmeringsspråk som C, skalskript och även ock och sed filtrerar när det gäller reguljära uttryck.
Föreslagen läsning:15 Användbara "sed" -kommandon för dagliga Linux -systemadministrationsuppgifter
Bortsett från detta, med "{" Och "}"
representerar ett kodblock och onödigt tillägg av ‘;’
i slutet av varje rad kan koden i Perl bli ett problem att förstå om du läser den efter månader eller år på grund av dess tillåtelse av fula skript.
Perl -språk lånar sin syntax från C och andra UNIX kommandon som sed, oj, etc. på grund av vilket det har mycket kraftfullt och inbyggt regex-stöd utan att importera några tredjepartsmoduler.
Också, Perl kan hantera OS-operationer med hjälp av inbyggda funktioner. Å andra sidan, Pytonorm har tredjepartsbibliotek för båda operationerna dvs. re för regex och os, sys för os -operationer som måste säkerställas innan sådana operationer utförs.
Perls regex -verksamhet har 'sed'Liknande syntax som gör det enkelt inte bara för sökoperationer utan också att ersätta, ersätta och andra operationer på en sträng kan göras enkelt och snabbt än python där en person behöver känna till och komma ihåg de funktioner som tillgodoser behöver.
Exempel: Tänk på ett program för att söka efter en siffra i strängen i Perl och Pytonorm.
Pytonorm
Importera re. str = ‘hej0909 där’ resultat = re.findall (‘\ d+’, str) utskriftsresultat.
Perl
$ string = ‘hej0909 där’; $ string = ~ m/(\ d+)/; skriv ut "$ & \ n"
Du ser syntaxen för Perl är lätt och inspirerad av sed kommando som drar fördel över Pythons syntax som importerar tredje parts modul 're'.
En funktion där Pytonorm överskuggar Perl är dess avancerade OO
programmering. Pytonorm har omfattande objektorienterat programmeringsstöd med ren och konsekvent syntax medan objektet OOP
i Perl är föråldrad där paketet används som ett substitut för klasser.
Också skriva OO
kod i Perl kommer att lägga till mycket mer komplexitet i koden, vilket så småningom skulle göra koden svår att göra förstå, även subrutiner i Perl är mycket svåra att programmera och så småningom svåra att förstå senare.
Å andra sidan är Perl bäst för sina one-liners som kan användas på kommandoraden för att utföra de olika uppgifterna. Perl -kod kan också så småningom utföra olika uppgifter i färre kodrader än python.
Ett kortkodsexempel på båda språken som belyser Perls förmåga att göra mer på mindre LOC:
Pytonorm
försök: med öppen ("data.csv") som f: för rad i f: utskriftsrad, utom Undantag som e: skriv ut "Kan inte öppna fil - %s" %e.
Perl
öppen (FIL, ”%lt; inp.txt ”) eller dö” Det går inte att öppna filen ”; medan() { skriva ut "$ _"; }
I det här avsnittet kommer vi att diskutera fördelar och nackdelar med Python och Perl.
OO
Programmering, även trådprogrammering i Python är mycket bättre än Perl.‘@’
identifierar matriser och ‘%’
identifierar hash.‘$`’
, ‘$&’
etc är svåra att förstå och programmera för en mindre erfaren programmerare. Perl -kod vid läsning skulle också vara svårt och komplext att förstå om du inte har en kvalitetsupplevelse.Som framgår ovan där båda språken är bra när det gäller de tillämpningar de riktar sig till, Pytonorm tar lite fördel över Perl som ett förstahandsval för en nybörjare på grund av dess rena och lättförståelige kod, medan Perl å andra sidan överträffar Python när det gäller strängmanipuleringsoperationer och några avancerade one-liners för UNIX som OS och olika andra operationer det är känt för.
Så i slutändan handlar det om det specifika område du riktar dig till. Alla dina kommentarer om den här artikeln är välkomna och skulle be dig att ge dina åsikter om ämnet om enligt dig Python vinner eller Perl.