Page 1 of 1

Perl sau Python in pachetul LINUX_WP

Posted: 08 Jun 2016, 14:31
by laszlo.zsigmond
Pentru a usura lizibilitatea si dezvoltarea scripturilor pentru pachetul LINUX_WP ne gandim sa rescriem o parte din scripturile intr-un limbaj de scriptare.

O dilema macar teoretica este intre Perl si Python. Incerc sa fac un rezumat din ce am gasit despre aceste limbaje, comparatii intre ele. Mai inainte precizez ca am folosit deja Python iar pe Perl nu il cunosc, si sincer, personal sunt multumit cu cea ce ofera Python si nu am gasit nimic asa de convingator de la Perl ca sa il incerc. Pentru echilibrarea opiniei trebuie sa spun ca Perl este
mai scurt si mai flexibil in sensul in care utilitarele sed sau awk sunt flexibile cu parametri multiplii si are o similaritate mai mare cu limbajele de terminal… limbaj care consideram mai dificil de citit si de dezvoltat mai departe.

Dezavantajele lui Perl sau de ce este mai bun Python?

Perl este considerat de critici un limbaj de programare write-only, in sensul ca este bun la scrierea unui script de maximum 30-60 linii iar dupa, complexitatea mentinerea codului este mai ridicat cum si posibilitatea de a intalni cu un obstacol. Sigur, un programator mai bun scrie cod mai lizibil, dar puterea lui Perl consta in complexitatea sintaxei si in multitudinea operatorilor. Perl cu certitudine arata si se simte ca si un limbaj shell avand originea de aici.


Python are la baza un limbaj de programare simpla si eleganta, puterea lui fiind in diferitele librarii disponibile. Python a fost alcatuit pentru a fi un limbaj OO (Object-Oriented). De la Perl 5 si Perl stie OO, numai ca in mod retrofit. In Python caracteristicile OO de mostenire multipla, polimorfism si encapsulare sunt bine implementate.

Motoul lui Perl este ca "Se poate face in mai multe feluri decat unul singur." Limbajul Perl favorizeaza pe cei deja experimentati cu limbajul: este mai compact, mai putin prolix cu scurtaturi pentru bucuria programatorilor cu expertiza. In mod contrar Python in anumite lucruri chiar forteaza pe programatori sa respecte niste reguli de programare de genul identari pentru bucle, etc.. Problema probabil cea mai mare a lui Perl este ca, comunitatea lui nu poate sa atraga utilizatori incepatori asa cum Python a putut. Probabil este datorita faptului ca limbajul necesita o introducere mai profunda si conducerea comunitatii/limbajului nu a facut eforturi suficiente si in timp pentru a usura lucrul cu Perl pentru cei care nu erau deja initiati in lumea Perl.

Larry Wall, conducatorul limbajului Perl a avut interesul ca Perl sa fie liderul in parsare text, si pentru asta a si primit o reputatie buna la inceputul epocii internetului. Astazi cresterea utilizatorilor Perlului stagneaza. Una dintre prezentari din Orlando Perl Workshop din anul 2013 a fost intitulat "Perl nu este mort, este capatul unui drum." Prezentarea proclama ca Perl a existat pe o insula. O data ce programatorii Perl pleaca, programatorii Perl vor fi plecati fara intoarcere.
In bioinformatica unde Perl era limbajul de scriptare cel mai popular, ajutand la descoperiri imense, ca si secventierea genetica in anii 1980, acum este suplinit de Python si de limbajul statistical R. La calcule stiintifice in prezent Python (si nu Perl) este optiunea dominanta de tip open source, popularitatea lui chiar rivalizeaza si cu unele solutii comerciale majoare.
In ansamblu Python predomina Perl la tot feluri de aplicatii, cu exceptia shell scripturilor relativ scurte, dar si in aceasta comparatie Perl si Python sunt macar comparabile.

Perl 6 care promitea multe lucruri pe care Python deja a avut, a venit numai dupa 15 ani. Intarzierea poate era cauzata de politica de dezvoltare, care are la baza spusele
conducatorul lui Perl, Larry Wall: "Noi nu incercam sa fim un limbaj mai bun decat C++ sau Python sau Java sau Javascript. Noi incercam sa facem pe Perl sa fie un limbaj de programare mai bun decat Perl. Asta e tot." Poate “Asta e tot”: prea mult perfectionism si prea putina implicare in rivalizare cu alte limbaje de programare ii cauzeaza declinul.

Python continua sa obtina mai mult sprijin in zonele de interes:
- GUI - Python e tot inca in urma fata de limbaje cu GUI),
- creare siteuri web (framework-ul Django este deja o optiune mainstream),
- calcule stiintifice, programarea paralela (mpi4py cu CUDA), machine learning, etc.
In ciuda faptului ca aceste eforturi nu sunt coordonate in mod centralizat de Guido
van Rossum, autorul limbajului Python, baza de utilizatori se extinde in mod continuu.
Chiar si studentii de la informatica le devin adepti inainte de celelalte limbaje
conscacrate (ca si Java sau C).

Articol despre Python in comparatie cu alte limbaje in limba romana:
http://www.ciprianpungila.com/python/comparatie.html
http://www.ciprianpungila.com/python/tehnologie.html

Articole citite/folosite:
http://www.fastcompany.com/3026446/the- ... g-language
http://www.tecmint.com/the-truth-of-pyt ... discussed/
http://infohost.nmt.edu/tcc/help/lang/p ... sperl.html
http://www.radughitescu.ro/primul-limbaj-de-programare/
https://blog.udemy.com/perl-vs-python/
https://perl6.org/
http://blogs.perl.org/users/ovid/2013/0 ... ughts.html