Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Perl vs Python

[es] :: Advocacy :: Perl vs Python

[ Pregleda: 5805 | Odgovora: 15 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
199.171.112.*



+6 Profil

icon Perl vs Python19.02.2003. u 16:49 - pre 257 meseci
Možda će neko smatrati da ovo i nije mesto za ovakvo pitanje, ali sam prilično siguran da teme koje imaju "vs" u naslovu pre ili kasnije završe ovde, pa zašto da se mučimo da prebacujemo :)

Elem, u firmi vodimo (žučnu) raspravu oko toga koji "script" jezik da koristimo. Naime, složili smo se da je C++ ponekad "previše" za neke sitne skriptice koje bi uglavnom "baratale" sa tekstom i da za takve stvari treba koristiti neki skript jezik. E sad, imamo dvojicu mladih inženjera koji su zapenili da nas ubede da je jedino Perl rešenje, a čuli smo i mišljenje da je Python bolji (čitljiviji i lakši za učenje). Lično, ne znam ni jedan ni drugi jezik (tj čitao sam ponešto o Perl-u, ali ništa značajno) pa bih molio za savet ljude koji znaju nešto više o tome. Posebno me interesuju sledeće stvari:

1) Koji jezik je lakši za učenje?
2) Koji je lakši za održavanje? (Perl važi za "write-only" jezik; da li je Python bolji?)
3) Da li je tačno da su ova dva jezika dovoljno slična da sa znanjem jednog može da se čita i održava kod pisan u drugom?

Pre svega me interesuju mišljenja ljudi koji poznaju oba jezika, mada želim da čujem i one koji poznaju samo jedan od njih.

Hvala.
 
Odgovor na temu

tOwk
Danilo Šegan
Zemun/Beograd

Član broj: 94
Poruke: 2743
*.beograd-3.tehnicom.net

ICQ: 9344053
Sajt: alas.matf.bg.ac.yu/~mm011..


+2 Profil

icon Re: Perl vs Python19.02.2003. u 17:35 - pre 257 meseci
1. Lakši za učenje?

Ovo je dosta složeno pitanje, ali odgovoriću jednostavno: Python sadrži mnogo manje sintaksnih elemenata i zato je jednostavniji (pa ga je valjda i lakše naučiti).

Sintaksa za Python je uvek eksplicitna, i nema mnogo prečica. To doprinosi jednostavnosti sintakse.

Perl, sa druge strane, sadrži mnogo raznih konstrukcija naredbi, svašta je dozvoljeno itd.

Stoga, mislim da je odgovor na prvo pitanje Python.

(Međutim, za neke stvari kao što je overloading operatora i pravljenje nizova i sličnih stvari, u Python-u se moraju znati i nazivi funkcija za to, pa i on ima dosta elemenata koje bi trebalo znati ali ovo se ipak ređe koristi)

2. Perl, kako i sam kažeš, važi za „write-only“ jezik. Svaki moj pokušaj da napišem složeniji program u Perl-u se sveo na nečitljivo čudovište od 1000+ linija, i zaista ga je teško održavati. Prvi razlog za to je za mene malo neprirodna podrška za OOP, i zato izbegavanje iste, i dobijanje teško razumljivih linijskih programa u kojima je svaka treća linija neki regex. Naravno, ni moja programerska (ne)kompetentnost se mora uzeti u obzir.

Python je jezik koji sadrži sve potrebne elemente OOP, sintaksa mu je veoma čista, i programi se lako održavaju (koliko i programi u svakom OO jeziku, ali oduzmite neke stvari koje samo prepune sintaksu kao što su virtual, i ostalo u C++-u).

Ono što mnogi smatraju za nedostatak u Python-u je preterana upotreba „self“-a: prihvaćeni naziv za imenovanje objekta kome metoda pripada. Zato je čest zahtev u comp.lang.python za dodavanjem „with“ konstrukcije, ali te rasprave pokrenu vatrenu raspravu („flamewar“) a Python programeri ponude rešenja koja su čitljivija bez „with“ i mnogo „self“-ova.

Dalje, striktnost sintakse Python-a znači da se (gotovo) sve obavlja kroz metode objekata/klasa, kao i njihove parametre. Naravno, moguće je napraviti neke stvari koji bi odudarale od ovoga, ali to nije praksa (kao vidljivi izuzetak bih izdvojio „%“ (moduo) operator koji je definisan između stringa i n-torke (tuple) kao C sprintf funkcija).

E da, i jedna veoma važna stvar: Python je dynamically-typed (kao i Perl, mada se to u Perlu može isključiti komandnom opcijom), ali je strongly-typed (za razliku od Perl-a). Čini mi se da ove izraze upotrebljavaju, a ovo drugo znači da kada jedna promenljiva dobije neki tip (string, broj, klasa, niz, mada su sve ovo klase...) ona ga zadržava dok se eksplicitno ne traži drugačije.

Još jedna važna stavka za preglednost programa napisanih na (u) Python-u je to što se razmaci (uvlačenje, indentacija) koriste za definisanje strukture programa. Ovo uklanja potrebu za suvišnim elementima kao što su tačka-zarez, vitičaste zagrade za grupisanje, i slično.

Sve u svemu, mislim da je i za ovo bolji izbor Python.

3. Hm, ja nisam stekao utisak da su ova dva jezika uopšte slična.

Python programe ti (kao, verujem, poznavalac C++-a) sigurno čitati i održavati odmah, a Perl sadrži mnogo više raznih konstrukcija, itd.

Python je mnogo više usmeren na OOP, dok je Perl ipak klasičan jezik koji više podseća na mnogo jači SH (samo pogledaj veličinu „man perlfunc“). E sad, Perl sadrži sve pozive koji su gotovo identični sa C pozivima, i programi teže da mnogo više liče na C programe sa ugrađenom sintaksom za regularne izraze, rečnike (hash, dictionary), i nizove, sve sa dinamičkom dodelom memorije.

Ja sam koristio oba, a Perl sada koristim samo za manje skripte (do 10-15 redova ako već SH ne može to da izvede), a Python za bilo šta ozbiljnije (a ne preterano ozbiljno, za šta se još uvek okrećem C-u).

Znači, Perl više izgleda na „hacked“ jezik, a Python na čist objektno-orijentisani („predmetno-usmereni“ ;) jezik.

Napominjem da Perl kao OO jezik zaista nisam koristio, i to može biti razlog moje „pristrasnosti“ za Python. Python ima težnju da ne bude „script“ jezik, već pravi programski jezik (već su pravljeni potpuni programi u njemu, čak i sa GUI-em, naravno GTK+).

Svaki nudi već dovoljno veliku bazu koda u standardnoj distribuciji, pa bi sve aktivnosti (baze, XML, obrada teksta, i slično) mogle lako da se obave i sa jednim i sa drugim.

Nadam se da će bar nešto od ovoga pomoći pri izboru jezika; tj. da postoji bar nešto pravih i zanimljivih podataka u ovoj (podužoj) poruci koja će uticati na izbor.

Jasno je koja je moja preporuka: Python. Ali, sve zavisi od potreba, a Perl kod ima tendenciju da bude znatno kraći, ali otuda i njegova nerazumljivost. Svakako, iskusni Perl programeri nemaju problema sa razumevanjem, ali vi to niste, zar ne?


[Ovu poruku je menjao tOwk dana 19.02.2003. u 19:42 GMT]
Možda se moje mišljenje promenilo, ali ne i činjenica da sam u pravu.
 
Odgovor na temu

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
*.InfoSky.Net

Sajt: localhost


+5 Profil

icon Re: Perl vs Python19.02.2003. u 17:37 - pre 257 meseci
perli ili pyton: PHP :D

ozbiljno, mnogo je slicniji perlu (ali samo do jedne granie), a mnooogo je laski za ucenje (neki kazu cak prelak, pa mnogi ne-programeri pocinju da "programiraju" u njemu)


ako je bilo sta vezano makar i malo za web, onda definitivno php, a cak ce i sa obicnim string-parsing & handeling funkcijama da zavrsi svaki perl posao.


a ako nema ama bash nikakve veze sa webom, onda perl
 
Odgovor na temu

tOwk
Danilo Šegan
Zemun/Beograd

Član broj: 94
Poruke: 2743
*.beograd-3.tehnicom.net

ICQ: 9344053
Sajt: alas.matf.bg.ac.yu/~mm011..


+2 Profil

icon Re: Perl vs Python19.02.2003. u 17:46 - pre 257 meseci
Hm, PHP? PHP ima katastrofalnu sintaksu, i ne bih ga koristio nikad da nije toliko čest na raznim hosting provajderima. Međutim, ovo nije tema ni pitanje, i sigurno je Dragi Tata već odbacio to kao opciju (tj. o tome nisu raspravljali u njihovom klubu programera ;).

Možda se moje mišljenje promenilo, ali ne i činjenica da sam u pravu.
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
199.171.112.*



+6 Profil

icon Re: Perl vs Python19.02.2003. u 17:53 - pre 257 meseci
Hvala na iscrpnim obaveštenjima, posebno Danilu.

Što se PHP-a tiče, bojim se da ne dolazi u obzir. Web aplikacije radimo u C#-u ili C++u, a Perl ili Python nam treba za izradu ad-hoc skripti koje bi baratale sa tekstom (mi se inače bavimo izradom lingvističkih alata).

Još bih samo da pojasnim da nemam nameru (bar ja, a verujem ni ostali) da pravim ozbiljnije aplikacije u bilo čemu osim C++u, te nisam siguran da bi mi OO karakteristike Python-a puno značile. Bitna mi je "čista" sintaksa.

Nestrpljivo očekujem još komentara.
 
Odgovor na temu

srki
Srdjan Mitrovic
Auckland, N.Z.

Član broj: 2237
Poruke: 3654
*.223.EUnet.yu



+3 Profil

icon Re: Perl vs Python19.02.2003. u 20:34 - pre 257 meseci
Tata, pogledaj ovo http://www.flat222.org/mac/bench/
To je benchmark izmedju sledecih jezika: perl, python, c++ i java.
Za ovo sto vama treba perl je mnoogo brzi. Kod pythona je ispis na konzolu jako spor (dobro, ne bas kao kod jave) a i IO koji vam isto treba je mnogo brze u perlu. PHP ima bolju hash implementaciju ali ne verujem da vam je to znacajno. Tu mozes i da vidis primere i razliku u sintaksi. Moj glas za perl iako se u mnogim stvarima slazem sa Danilom. Da python nije toliko spor verovatno bi on bio resenje a i verovatno bi onda bio rasprostranjeniji. Sada je i rasprostranjenost jos jedan razlog vise da uzmete perl jer lakse cete naci script programere ako vam budu zatrebali i lakse ce te naci zamenu ako neko ode iz firme. Naravno trebalo bi da se dogovorite o nacinu pisanja programa da bi bilo lako za odrzavanje. Ne znam kolike programe planirate u perlu da pisete ali ako je to gomila manjih scripti onda ne bi trebalo da bude problem. Pri odlucivanju ne treba biti pristrasan nego gledajte samo sa finansijske strane. Nazalost sve tako funkcionise.
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
199.171.112.*



+6 Profil

icon Re: Perl vs Python19.02.2003. u 21:10 - pre 257 meseci
Hvala Srki. Vrlo zanimljiv sajt, moram priznati. Doduše, vidi se da autor nije baš vrhunski stručnjak za C++, jer je za neke stvari koje mogu da se odrade u jednoj liniji koristio nekakve petlje. No, to nije bitno. Iskren da budem, meni se Python primeri koje sam video na sajtu mnogo više sviđaju nego Perl primeri, mada je tačno i to što si rekao da treba uzeti u obzir i rasprostranjenost jezika. Performanse nam za ovo nisu preterano bitne - kad jesu, koristićemo C++.
 
Odgovor na temu

srki
Srdjan Mitrovic
Auckland, N.Z.

Član broj: 2237
Poruke: 3654
*.254.EUnet.yu



+3 Profil

icon Re: Perl vs Python21.02.2003. u 14:24 - pre 257 meseci
Nemanja, sta ste odlucili u firmi? Sta je presudilo? Lepsa i laksa sintaksa pythona ili rasprostranjenost (i brzina) perla?

Nego da li ste videli na onom sajtu da java i nije tako spora ali joj je ispis mnogo spor sto daje utisak da je sve u javi mnogo sporo. U svim ostalim stvarima samo je c++ brzo od jave. I naravno java nije program za neke skriptice koje se cesto pozivaju sto se vidi iz testa 'no' ali pretpostavljam da sasvim fino moze da se koristi za pristup bazama itd...
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
199.171.112.*



+6 Profil

icon Re: Perl vs Python21.02.2003. u 16:05 - pre 257 meseci
"Porota je još uvek napolju". Konačnu odluku ćemo doneti verovatno na sastanku za 10-ak dana - javiću šta je bilo.

Što se brzine Jave tiče, imaj na umu da su tamo poredili dva klasična interpretera (Perl i Python), jedan "hibrid" između kompajlera i interpretera (Java) i jedan pravi kompajler (C++). Po meni, ima smisla porediti Javu sa .NET jezicima, a ne sa Perlom i Pythonom.

No, kao što rekoh, za razvoj "core" aplikacija koristimo C++ i tu se neće ništa promeniti. Naš glavni inženjer je doduše nešto eksperimentisao sa C#om, ali se pokazalo da su performanse (posebno potrošnja memorije, ali i brzina) neprihvatljive za to što mi radimo.
 
Odgovor na temu

Ivan.Markovic

Član broj: 97763
Poruke: 330

Sajt: security-net.biz


+19 Profil

icon Re: Perl vs Python08.07.2007. u 18:23 - pre 204 meseci
Da malo osvezimo temu ;)

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) ?
4. Buducnost jezika (cini mi se da Perl stoji u mestu) ?
“If you think you are too small to make a difference, try sleeping with a mosquito.” - Dalai Lama
XIV
 
Odgovor na temu

Au197/79
Zlatan Kadragić
Minhen

Član broj: 3556
Poruke: 772
*.adsl.beotel.net.

Sajt: aurelije.blogspot.com


+47 Profil

icon Re: Perl vs Python08.07.2007. u 19:15 - pre 204 meseci
1. Na http://www.artima.com/weblogs/viewpost.jsp?thread=208549 GvR probesedi:
Citat:
A schedule was first published around a year ago; we were aiming for a first 3.0 alpha release by the end of the first half of 2007, with a final 3.0 release a year later. (Python 3.0 will be the version when it is released; "Python 3000" or "Py3k" is the project's code name.)

2. Na http://shootout.alioth.debian....amp;lang=python&lang2=perl možeš uporediti u nekim kodovima kako se ponašaju jezici. Ako se pogleda total lista gde se jednako vrednuju dužina koda, brzina i potrošnja memorije, python je nekoliko mesta iznad perla.
3. Perl je još uvek jak jer ima dosta koda da se održava, standardan je na serveriskim mašinama, zgodna za administriranje tj. kao zamena za shell skripte. Za programiranje ozbiljnjih stvari tu je python, a u poslednje vreme i ruby. Sa web programiranja perl nestao. Tu je PHP za jednostavno programiranje, a za ozbiljnije frameworke tu je ruby i tu je python.
4. Parot se čeka godinama. Mnogo se radi na redizajnu jezika, ali što se grbo rodi vrijeme ne ispravi.

Evo i skorašnjeg teksta na ovu temu: http://xcomputers.wordpress.co...why-the-debate-is-meaningless/ Slažem se sa piscem da je poređenje besmisleno.

Bolje džaba ležat nego džaba radit.
 
Odgovor na temu

Mitrović Srđan
bloodzero
Freelance
Majur //: Šabac

Član broj: 10261
Poruke: 2800
*.ptt.yu.

Sajt: freeshell-reviews.com


+4 Profil

icon Re: Perl vs Python08.07.2007. u 20:14 - pre 204 meseci
Ne vidim neku svetliju buducnost perla pogotovu sto zadnjih par godina nista znacajno
nije uradjeno po tom pitanju. PERL nisam bio u prilici da koristim sigurno zadnjih godinu dana
inace je prvi jezik koji sam naucio ;-) prva ljubav ali trenutno za posao koji radim nemam prevelike
potrebe da posezem za njim tj nemam nikakve ;-)
Svu automatizaciju odradim preko sh skripti , ali nekada je bilo jako zanimljivo prckati po .pl
cak sam i svoj prvi gmail acc nazvao blood.pl u tu cast.

Sa pajtonom sam slabo imao posla nekako mi je njegov nacin kodiranja i sama sintaksa
blago receno odvratna.
Tony Melendez:
http://video.google.com/videoplay?docid=-
3819862628517136815&q=tony+melendez

NIKADA NE UZIMATI HOSTING NA GO DADDY!


 
Odgovor na temu

VRider
Marković Damir
(BGD/SD Karaburma)/Pirot

Član broj: 1510
Poruke: 4132
*.maksnet.net.

Jabber: damirm | gmail | com
ICQ: 134002435


+13 Profil

icon Re: Perl vs Python08.07.2007. u 21:33 - pre 204 meseci
Cini mi se da ce Perl da napravi jedan veliki krug, i opet postane ono sto je na pocetku i bio - jezik za manipulaciju tekstom. Ljudi ga i dalje cene i koriste za takve stvari, a kako je onih koji ga uce sve manje i manje, posla ima.
JaFreelancer.com
 
Odgovor na temu

Au197/79
Zlatan Kadragić
Minhen

Član broj: 3556
Poruke: 772
*.adsl.beotel.net.

Sajt: aurelije.blogspot.com


+47 Profil

icon Re: Perl vs Python08.07.2007. u 23:29 - pre 204 meseci
Citat:
Mitrović Srđan:Sa pajtonom sam slabo imao posla nekako mi je njegov nacin kodiranja i sama sintaksa
blago receno odvratna.


Ja sam programirao na gomili jezika od COBOL-a, lisp-a, c-a, pascal-a, PHP-a, Jave, JavaScript-a i C# i mogu reći da mi se sintaksa Pythona najviše sviđa. Mislim da je genijalno prosta i da je više esperanto (p-cod) programiranja nego sintaksa. Kad bi ljudi smišljali nepostojeći programski jezik samo da bi preko njega opisali algoritme (koji bi tako bili nezavisni od konkretne implementacije) siguran sam da bi taj jezik bio bar 90% isti kao python-u.

Meni je npr. čudna i previše komplikovana sintaksa Ruby jezika. Posebno onaj njihov try catch blok je bolesan.

Međutim o lepoti se ne vredi raspravljati.
Bolje džaba ležat nego džaba radit.
 
Odgovor na temu

Ivan.Markovic

Član broj: 97763
Poruke: 330

Sajt: security-net.biz


+19 Profil

icon Re: Perl vs Python09.07.2007. u 02:38 - pre 204 meseci
Hvala na odgovorima, iskreno meni se sintaksa Perl-a vise svidja ali sa obzirom da bi jedan od ova dva jezika koristio kao zamenu u nekim situacijama za C i PHP, mislim da je Python u tom slucaju bolji izbor. U isto vreme moze da se izbori i sa administracijom i sa web-om sto mi extra odgovara, takodje OOP podrska je sasvim ok.

Jedino sto me brine to su ove promeni u v3 ...
“If you think you are too small to make a difference, try sleeping with a mosquito.” - Dalai Lama
XIV
 
Odgovor na temu

anrxc

Član broj: 43899
Poruke: 452
*.adsl.net.t-com.hr.

Sajt: sysphere.org


Profil

icon Re: Perl vs Python10.07.2007. u 09:06 - pre 204 meseci
Citat:
Naime, složili smo se da je C++ ponekad "previše" za neke sitne skriptice koje bi uglavnom "baratale" sa tekstom i da za takve stvari treba koristiti neki skript jezik.

Python is Cool (and Perl is not), Especially for C/C++ Programmers, neka kod govori za sebe.


Prije dosta vremena sam citao i ovaj tekst http://www.linuxjournal.com/article/3882 gdje ESR pise o tome kako je naucio Py u tjedan dana (doslovno u tjedan dana, i dosta usporeduje sa perlom). Posto "govori" dvadesetak jezika vrijedi procitati.

Pred par dana sam na usenetu citao zanimljivu raspravu sto se tice baza i kako perl i py tu funkcioniraju... mozda ce to biti kljucno mnogima.
http://groups.google.hr/group/...sg/a49e4054f29966fd?hl=hr&


[Ovu poruku je menjao anrxc dana 10.07.2007. u 10:51 GMT+1]
You need to install an RTFM interface.
 
Odgovor na temu

[es] :: Advocacy :: Perl vs Python

[ Pregleda: 5805 | Odgovora: 15 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.