DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   Programiranje (http://www.devprotalk.com/forumdisplay.php?f=23)
-   -   Perl vs Python (http://www.devprotalk.com/showthread.php?t=3189)

Ivan 08. 07. 2007. 17:06

Perl vs Python
 
Cesto dolazim u dodir sa delovima koda koji su pisani u jednom od ova dva (perl i python) jezika, i odlucio sam da jedan od njih ubacim u svakodnevnu upotrebu (pored C-a i PHP-a).

Pitanje je za koji se odluciti ? Meni se licno vise svidja sintaksa Perl-a ali to ne treba da bude presudno. Cini mi se da Python ima svetlu buducnost i da Perl ostaje iza kao oldschool alat ... takodje me zbunjuje i opaska da Python menja svoj core u verziji 3.

Vasa misljenja ? Koje su prednosti i mane ovih jezika ? Kakva su vasa iskustva ?

Hvala,
Ivan

Dragi Tata 08. 07. 2007. 18:36

I ja sam pitao isto pre neke 4 godine

http://www.elitesecurity.org/t20836-Perl-vs-Python

Perl koristim za "quick & dirty" skripte, a python u mojoj firmi koriste za jednu GUI aplikaciju i navodno su jako zadovoljni, mada je po mom mišljenju ta aplikacija grozno spora i izgleda kao Windows 3.1

Bojim se da ti nisam mnogo pomogao :D

Ivan 08. 07. 2007. 19:06

Evo vec nekih dva sata citam textove po netu i trazim odgovor ... i malo je tesko izabrati. Prvo mi se svideo Perl ali cini mi se da bi za vece aplikacije bio previse 'ruzan', a sa druge strane brinu me promene u Python v3 jer ne bih da gubim vreme na prebacivanje koda ...

Zato, ajmo podpitanja:

1. Kada se planira izlazak Python v3 ?
2. Koji jezik je brzi (sistemski pozivi i sl) i trosi manje memorije (ako ovo uopste ima smisla pitati sada) ?
3. Sa kojim jezikom ima vise posla ? I gde (web, sistem administracija) ?

robi-bobi 08. 07. 2007. 19:51

Citat:

Originalno napisao Ivan (Napišite 38575)
... ali cini mi se da bi za vece aplikacije bio previse 'ruzan',

2. Koji jezik je brzi (sistemski pozivi i sl) i trosi manje memorije (ako ovo uopste ima smisla pitati sada) ?
3. Sa kojim jezikom ima vise posla ? I gde (web, sistem administracija) ?

samo cu da parafrazima mog dobrog prijatelja, koji je jedno 5 godina programirao u perlu i posle presao na php (pricao sam s njim o ovome pre jedno godinu dana, mozda i jace)

dakle, njemu se perl sintaksa vise svidja od php-a (sto nije kod mene slucaj)
perl ima frameworke koji su prosli detske bolesti i sad su opstepoznati i stabilni
on kaze da je perl super za vece aplikacije zbog cpana i nekih njegovih modula
CPAN je koristio agresivno i bio JAKO zadovoljan


sto se tice tvojih pitanja, odgovoricu na 2 i 3.:
2: mislim da nema smisla pitati to danas :)
3: ne znam za perl vs pyton, moj prijatelj je presao na php jer je lakse naci posao sa istim, inace ga ne bi menjao. i sad licne projekte radi u perlu

python - pojma nemam
nemam ni nameru da ucim, dovoljno mi je sto pratim php i zbivanja oko njega

zextra 08. 07. 2007. 21:35

Odma da kazem da Python "ne govorim".

Da se nadovezem na robi-robi:

Postoji dosta kvalitetnih frejmworka za skoro sve upotrebe (network programming, web programming, templejting, etc, etc...), i sve se moze dosta lako nabaviti preko CPAN-a.

Gotovo svaki problem na koji naidjes neko je vec resio, pa ako nista drugo, mozes da vidis kako je to neko drugi uradio.

Perl + System programming = win-win kombinacija (ne sumnjam da je kod Pythona prica dosta slicna)

Mnogi se "zale" da je u perlu tesko pisati enterprise software - na srecu, poprilicno je moguce, ali je najcesci problem u programeru a ne u jeziku. Perl ne postavlja NIKAKVA pravila, te je jednu istu stvar mozes da uradis na puno razlicitih nacina.

Uvek mozes da pises quick'n'dirty kod, ako hoces nesto na brzinu da sklepas.

Uz malo vezbe, mozes da pises vrlo citak kod koji se lako odrzava.

Sto se brzine tice, to stvarno ne bi trebalo da te opterecuje. Ali ajde. Kao i svaki drugi interpretirani jezik, najvise vremena odlazi na kompajliranje u bytecode, posle toga stvari teku vrlo brzo. Pokretanje skripte koja koristi dosta kompleksan framework ne traje duze od sekund-dva prilikom inicijalnog pokretanja. Na izvrsavanje skripte najvise utice ljudski faktor (lose napisan kod).

Toliko za sada.. Imas jos pitanja?

nesh 08. 07. 2007. 21:57

Citat:

Originalno napisao Ivan (Napišite 38575)
1. Kada se planira izlazak Python v3 ?

IIRC, krajem godine (ako je verovati najavama). IMHO, ne bih se previše brinuo zbog toga, jer će 2.x biti podržan još duugo vremena.

Citat:

Originalno napisao Ivan (Napišite 38575)
2. Koji jezik je brzi (sistemski pozivi i sl) i trosi manje memorije (ako ovo uopste ima smisla pitati sada) ?

Perl, python, ..., well svi skript jezici su tu negde, IMHO python-u se lakše dodaju C ekstenzije ako zatreba...

Citat:

Originalno napisao Ivan (Napišite 38575)
3. Sa kojim jezikom ima vise posla ? I gde (web, sistem administracija) ?

Podjednako, valjda, dosta stvari se radi u Perl-u, što starih, što novih, OTOH python je takođe tražen (hint: Google et all ;) )

Bottom line je da je najbolje znati oba, naročito ako planiraš da se "zanimaš" sistemskom administracijom.

Sa druge strane, ako si navikao "samo" na C i PHP korišćenje Perl-a bi ti možda bilo lakše jer je malo "bliži" tom načinu razmišljanja nego Python.

E, kad sam sve to rekao ... kao neko ko je na Python prešao pre par godina (otprilike C->Perl->PHP->Python) i do dan-danas nije požalio zbog toga moram da ti preporučim Python od sveg srca - naučićeš jedan od najbolje dizajniranih (i najmoćnijih) jezika.

ivanhoe 09. 07. 2007. 00:51

prednost perla je ogromna raspostranjenost u linux svetu, pored shell scripta je najcesci jezik za razne sistemske alate i skripte... takodje extra je zgodan za upotrebu direktno iz komandne linije, za razne search & replace manipulacije nad text fajlovima... znaci ako ces se baviti cackanjem linuxa iz konzole perl je veoma dobro invstirano vreme..

python se nije toliko zapatio jos, ali ima extra cistu sintaxu, i dosta biblioteka, koliko sam shvatio (nisam probao licno) lako se integrise sa GUI, pa mozes da pravis razne aplikacije za X-e ili windowse, sve u svemu super je i on... po meni glavna prednost je sto je sintaxa prostija od perla i brze ces je nauciti (mada opet ja volim sve one $@% u perlu jer, kad se naviknes, to zapravo cini kod jasnijim, odmah vidis tip promenjive).

Takodje ako volis OOP, python ima klasicniji pristup tome, perl ima objekte nalik javascriptu, ne koriste se klase, nego su objekti zasnovani na prototype-ovima, sto je u pocetku malo zbunjujuce (mada je u stvari vrlo prosto, i ima sve osobine OOP koje su ti potrebne)

Razmisli takodje o Rubiju, on je kao perl sa jednostavnijom sintaxom i bolje resenim objektima. Meni se vise svidja o pythona...

Ivan 09. 07. 2007. 11:06

Bas je tesko odluciti ;)

Koristio bih taj novi jezik za administraciju (nista preterano komplikovano) ali ujedno i za web gde bi mi se ucinilo da je PHP "nemocan". Ne znam zasto kazem "nemocan" ali posle C-a neke stvari u PHP mi izgledaju nekako "nestabilno" ...

Kod Perl-a mi se svidja sintaksa, a kod Python-a podrska za OOP i konzola ...

LiquidBrain 09. 07. 2007. 11:11

Onda je odluceno, nauci oba :)

Petar Marić 09. 07. 2007. 15:31

Citat:

Originalno napisao Ivan (Napišite 38599)
Kod Perl-a mi se svidja sintaksa, a kod Python-a podrska za OOP i konzola ...

Ako već nisi pogledaj IPython (poboljšana Python konzola), mislim da će ti se svideti.


Vreme je GMT +2. Trenutno vreme je 14:07.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.