Għaddas fil-fond fid-dibattitu Python Vs Perl - X'għandi nitgħallem Python jew Perl?
Ħafna drabi meta tiġi introdotta lingwa ta 'programmar ġdida, ikun hemm dibattitu li jibda fost xi wħud mill-imħuħ ġenju fl-industrija fejn il-lingwa hija mqabbla ma' dik li diġà qed tifrex l-għeruq tagħha. Tip ta 'buzz spiss jinfirex fl-industrija tal-IT u l-ġdida ħafna drabi titqabbel fuq kull aspett jista' mbagħad ikun karatteristiċi, sintassi jew aspetti ewlenin tas-CPU u l-memorja inkluż il-ħin GC u kollox, ma 'dak eżistenti tat-tip tiegħu.
Ħafna eżempji ta’ każijiet bħal dawn jistgħu jinġabru u jiġu investigati mill-passat inkluż id-dibattitu bejn Java u C#, C++, eċċ. Każ bħal dan li ġibed ammont sinifikanti ta’ attenzjoni kien id-dibattitu bejn żewġ lingwi li ħareġ wieħed wara l-ieħor f’ medda qasira jiġifieri Python u Perl.
Billi Python kien ivvintat inizjalment bħala suċċessur tal-lingwa ABC sempliċement bħala proġett ta 'programmazzjoni ta' \passatemp (li jattira hackers Unix/C) għall-awtur li semmieh wara s-serje tal-akbar stilla tiegħu Monty Python.
Perl kien kważi madwar sentejn qabel bħala lingwa ta' skripting Unix li kienet maħsuba biex tagħmel l-ipproċessar tar-rapporti aktar faċli. Kienet taħlita ta' taħlita ta' ħafna lingwi inkluż C, script shell.
Il-ħaġa li ta’ min jinnota hija li dawn il-lingwi li evolvew b’intenzjonijiet differenti qed jiġu kkomparati kontinwament, li ġagħlitni nistudja u nifhem ir-raġunijiet, li minnhom xi wħud importanti huma elenkati kif hawn taħt:
- It-tnejn immiraw lejn is-Sistema Operattiva Unix, waħda għall-hackers u oħrajn biex jipproċessaw ir-rapporti.
- It-tnejn huma orjentati lejn l-oġġetti (Python huwa l-aktar) u interpretati, b'waħda tkun ittajpjata b'mod qawwi u ċara meta niġu għall-kodifikazzjoni jiġifieri Python, u oħrajn li jippermettu ttajpjar ikrah b'ċingi biex jirrappreżenta blokka jiġifieri Perl
- It-tnejn huma opposti fil-prinċipju meta ngħidu, Perl għandu ħafna modi kif jagħmel biċċa xogħol waħda filwaqt li python jiffoka fuq mod wieħed u wieħed biss kif tagħmel l-affarijiet.
Python vs Perl - Karatteristiċi Imqabbla
Ejja ngħaddu fil-fond f'dan id-dibattitu u nippruvaw insemmu l-aspetti ġenerali fejn dawn iż-żewġ lingwi jiddifferenzjaw minn xulxin. Ukoll, ejja nippruvaw insibu s-sors tal-verità għal ħafna cliches li jistgħu jinstemgħu fl-industrija jgħidu Python huwa Perl bir-roti tat-taħriġ jew Python huwa simili għal Perl iżda differenti sabiex inkunu nistgħu nippruvaw nikkonkludu b' soluzzjoni preċiża għal dan id-dibattitu li ma jintemm qatt.
Python jieħu vantaġġ kbir fuq Perl meta niġu għall-qari tal-kodiċi. Il-kodiċi ta 'Python huwa ħafna aktar ċar biex jinftiehem minn dak ta' Perl anke meta taqra l-kodiċi wara snin.
B'indentazzjoni li tirrappreżenta l-blokka tal-kodiċi, u strutturar xieraq, il-kodiċi ta 'Python huwa ħafna aktar nadif. Min-naħa l-oħra, Perl jissellef is-sintassi tiegħu minn diversi lingwi ta' programmar bħal C, sed filters fejn jidħlu espressjonijiet regolari.
Barra minn dan, bi '{' u '}'
li jirrappreżentaw blokka ta' kodiċi u żieda bla bżonn ta' ';'
fl-aħħar ta' kull linja, kodiċi f'Perl jista' jsir problema li tifhem jekk taqrah wara xhur jew snin minħabba l-allowance tagħha ta’ scripting ikrah.
Il-lingwa Perl tissellef is-sintassi tagħha minn C u kmandi UNIX oħra bħal sed, awk, eċċ. Minħabba f'hekk għandha appoġġ regex b'saħħtu u integrat mingħajr ma jimporta moduli ta' parti terza.
Ukoll, Perl jista 'jimmaniġġja l-operazzjonijiet tal-OS billi juża funzjonijiet integrati. Min-naħa l-oħra, Python għandu libreriji ta 'partijiet terzi kemm għall-operazzjonijiet, jiġifieri re għal regex u os, sys għal operazzjonijiet os li jeħtieġ li jiġu żgurati qabel ma jsiru tali operazzjonijiet.
L-operazzjonijiet regex ta’ Perl għandhom sintassi bħal ‘sed’ li tagħmilha faċli mhux biss għal operazzjonijiet ta’ tfittxija iżda wkoll operazzjonijiet ta’ sostituzzjoni, sostituzzjoni u operazzjonijiet oħra fuq string jistgħu jsiru faċilment u malajr minn python fejn persuna teħtieġ tkun taf u tiftakar il-funzjonijiet li jaħsbu. il-ħtieġa.
Eżempju: Ikkunsidra programm biex tfittex ċifra fis-sekwenza f'Perl u Python.
Import re str = ‘hello0909there’ result = re.findall(‘\d+’,str) print result
$string = ‘hello0909there’; $string =~ m/(\d+)/; print “$& \n”
Tara li s-sintassi għal Perl hija faċli u ispirata mill-kmand sed li jieħu vantaġġ fuq is-sintassi ta 'Python li timporta l-modulu ta' parti terza re.
Karatteristika waħda fejn Python igħolli l-Perl hija l-ipprogrammar avvanzat tiegħu OO
. Python għandu appoġġ estensiv għall-ipprogrammar orjentat lejn l-oġġetti b'sintassi nadifa u konsistenti filwaqt li l-oġġett OOP
f'Perl huwa skadut fejn il-pakkett jintuża bħala sostitut għall-klassijiet.
Ukoll, il-kitba tal-kodiċi OO
f'Perl se żżid ħafna aktar kumplessità mal-kodiċi, li eventwalment jagħmel il-kodiċi diffiċli biex jinftiehem, anke subroutines f'Perl huma diffiċli ħafna biex jiġu pprogrammati u eventwalment diffiċli biex jinftiehmu aktar tard.
Min-naħa l-oħra, Perl huwa l-aħjar għall-one-liners tiegħu li jistgħu jintużaw fuq il-linja tal-kmand għat-twettiq tal-kompiti varji. Ukoll, il-kodiċi Perl jista 'eventwalment jagħmel diversi kompiti f'inqas linji ta' kodiċi minn python.
Eżempju ta' shortcode taż-żewġ lingwi li jenfasizza l-kapaċità ta' Perl li jagħmel aktar f'inqas 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 “$_”; }
Vantaġġi u Żvantaġġi - Python vs Perl
F'din it-taqsima, ser niddiskutu l-Prosperità u l-Iżvantaġġi ta 'Python u Perl.
- Għandu sintassi nadifa u eleganti li tagħmel din il-lingwa għażla kbira bħala l-ewwel lingwa ta' programmar għan-novizzi li jridu jkollhom hands-on fuq kwalunkwe lingwa ta' programmar.
- Għandha ipprogrammar avvanzat ħafna u inerenti ta'
OO
, ukoll l-ipprogrammar tal-ħajt f'Python huwa ferm aħjar minn Perl. - Hemm ħafna oqsma ta' applikazzjoni fejn Python huwa preferut u anke jaqbeż lil Perl. Bħal: Perl huwa ppreferut għall-iskript CGI iżda llum il-ġurnata Django ta' Python u web2py bħal lingwi ta' skript tal-web qed isiru aktar popolari u għandhom attrazzjoni kbira mill-industrija.
- Għandu diversi wrappers SWIG għal lingwi ta' programmar differenti bħal CPython, IronPython u Jython u l-iżvilupp ta' dawn ippreċeda l-iżvilupp ta' wrappers SWIG għal Perl.
- Il-kodiċi Python huwa dejjem indentjat tajjeb u faċli biex jinqara u jinftiehem anki jekk tkun qed taqra l-kodiċi ta' xi ħadd ieħor jew saħansitra l-kodiċi tiegħek wara snin.
- Python huwa tajjeb għal diversi applikazzjonijiet bħal Big Data, Infra Automation, Machine Learning, NLP, eċċ, għandu appoġġ kbir għal komunitajiet attivi minħabba li huwa Open Source.
- Ftit oqsma fejn l-eżekuzzjoni f'Python hija ġeneralment aktar bil-mod minn dik ta' Perl inklużi operazzjonijiet ibbażati fuq regex u string.
- Kultant huwa diffiċli li tikseb it-tip ta' varjabbli f'Python peress li f'każijiet ta' kodiċi kbir ħafna, trid tmur sal-aħħar biex tikseb tip ta' varjabbli li ssir hectic u kumplessa.
- Perl għandu one-liners b'saħħithom u anke jiżgura pajpijiet UNIX bħal sintassi li jistgħu jintużaw fuq il-linja tal-kmand biex iwettqu diversi kompiti, ukoll huwa influwenzat minn Unix u l-programmazzjoni tal-linja tal-kmand tiegħu sabiex jintegra ħafna kmandi influwenzati minn UNIX fil-kodifikazzjoni tiegħu .
- Perl huwa magħruf għall-operazzjonijiet qawwija tiegħu ta' paragun ta' regex u string peress li huwa influwenzat minn sed u awk bħal għodod qawwija UNIX. Fil-każ ta 'operazzjonijiet regex u string bħal sostituzzjoni, tqabbil, sostituzzjoni, Perl tegħleb lil python li jieħu ftit linji ta' kodiċi biex jinkiseb l-istess. Ukoll ħafna operazzjonijiet I/O tal-fajls, l-immaniġġjar tal-eċċezzjonijiet isir aktar malajr fuq Perl.
- Fir-rigward ta' lingwa għall-ġenerazzjoni tar-rapporti, il-Perl dejjem kien fama mill-introduzzjoni tiegħu bħala waħda mir-raġunijiet ewlenin għall-awtur biex jiżviluppa lingwaġġ bħalma kien il-Perl għall-ġenerazzjoni tar-rapporti.
- Ħafna oqsma ta' applikazzjoni fejn Perl isib l-użu tiegħu huma l-Programmazzjoni tan-Netwerk, l-Amministrazzjoni tas-Sistema, CGI Scripting (hawnhekk Python qed jegħleb lil Perl b'Django u web2py), eċċ.
- Huwa faċli li tidentifika t-tip ta' varjabbli bis-simboli li Perl juża quddiemhom, bħal:
'@'
jidentifika arrays u'%'
jidentifika hashes.< /li>
- Perl għandu kodiċi kumpless ħafna li jagħmilha diffiċli biex jinftiehem għal novizzi. Subroutines, u anke simboli oħra bħal:
'$\'
,'$&'
eċċ huma diffiċli biex jifhmu u jiġu pprogrammati għal programmatur b'inqas esperjenza. Ukoll, kodiċi Perl meta jaqra jkun diffiċli u kumpless biex jinftiehem sakemm ma jkollokx esperjenza ta' kwalità. - L-ipprogrammar OO fil-Perl huwa daqsxejn skadut peress li qatt ma kien magħruf għall-ipprogrammar OO u ħafna operazzjonijiet bħall-kamini huma wkoll inqas evidenti fuq Perl.
Konklużjoni
Kif jidher hawn fuq fejn iż-żewġ lingwi huma tajbin fir-rigward tagħhom skont l-applikazzjonijiet li jimmiraw, Python jieħu ftit vantaġġ fuq Perl bħala l-ewwel għażla għal novizzi minħabba l-kodiċi nadif u faċli biex jinftiehem, filwaqt li min-naħa l-oħra Perl tegħleb lil Python. meta niġu għal operazzjonijiet ta 'manipulazzjoni ta' spag u xi one-liners avvanzati għal UNIX bħal OS u diversi operazzjonijiet oħra li huwa magħruf għalihom.
Allura, fl-aħħar, huwa kollu fuq iż-żona speċifika li timmira. Il-kummenti kollha tiegħek dwar dan l-artikolu huma milqugħa u nitolbok li tagħti l-fehmiet tiegħek dwar is-suġġett jekk skond int Python jirbaħ jew Perl.