Kdy použít Perl a kdy Python?

Manny

Kdy použít Perl a kdy Python?
« kdy: 07. 06. 2010, 11:44:57 »
Ahoj,
 řeším takovou otázku - na co je lepší použít Python a na co Perl? Myslím že své uplatnění nacházejí asi hlavně při práci se soubory, ale na co konkrétně jsou lepší než jiné skriptovací jazyky?
Jaká je např. typická "aplikace" nebo úloha pro Perl a jaká zase pro Python?
Nemůžu se v tom pořádně vyznat :)
Díky.
« Poslední změna: 07. 06. 2010, 12:17:23 od Petr Krčmář »


Jakub L.

Re: Kdy použít Perl a kdy Python?
« Odpověď #1 kdy: 07. 06. 2010, 13:03:52 »
Já osobně programuji v obojím a myslím, že je to především otázka preference autora...

Při rozhodování bych postupoval asi takto:

1) Preference autora (už může rozhodnout)

2) Udělat si analýzu toho, co budu programovat, jaké věci tam potřebuji a prozkoumat, jestli v daném jazyce jsou (např. Python nemá pointery, Perl zase nemá žádnou implementaci Posix1e ACL ) a podle toho se rozhodnout

3) Pak už jsou spíše statisticko-subjektivní (více lidí to má radši):

Na systémové skripty, parsování textů apod. spíše Perl

Na GUI spíše Python

Sten

Re: Kdy použít Perl a kdy Python?
« Odpověď #2 kdy: 07. 06. 2010, 16:02:33 »
Podle mých preferencí je Perl neobyčejně silný pro jakékoliv složitější zpracovávání textu, např. různé statistiky z logů. Jinak mi přijde (v porovnání s Pythonem) zbytečně složitý

Lubos

Re: Kdy použít Perl a kdy Python?
« Odpověď #3 kdy: 07. 06. 2010, 20:19:38 »
A co takto webove aplikacie? Co by ste odporucili, keby som potreboval spravit jednoduchu aplikaciu pre web? Napriklad nieco ako jednoduche, jednoucelove CMS?

logikk

Re: Kdy použít Perl a kdy Python?
« Odpověď #4 kdy: 07. 06. 2010, 21:02:12 »
Cokoli, např. Python, php, ruby... Pokud to má bejt do budoucna rozšiřitelný a ároveň škálovatelný, vyřadil bych php jako ošklivej jazyk a ruby pro pomalost a zbyde python.


Psát webový aplikace v perlu je imho masochismus, ale jde to taky...


Jakub L.

Re: Kdy použít Perl a kdy Python?
« Odpověď #5 kdy: 07. 06. 2010, 22:09:50 »
Na webové aplikace asi Python, jeho frameworky jsou zajímavé... V perlu mám pěkný projekt od Aničky (anicka.net) a zkoušel jsem i něco vlastního, ale myslím, že je to větší dřina než v Pythonu

Jarda

Re: Kdy použít Perl a kdy Python?
« Odpověď #6 kdy: 07. 06. 2010, 22:25:14 »
ruby pro pomalost a zbyde python.

Pomalu, pomalu. JRuby dá Pythonu (a ne jen jemu) pěkně na frak. Ruby v1.9.1 v podstatě dohnal Python (leckde mírně předehnal), Ruby1.9.2 dále akceleruje a MacRuby0.6 zamává i Perlu (bohužel ještě nedokončenému MacRuby neskutečně ujíždí alokace + další "drobnosti", takže se rychlost projeví jen v některých aplikacích).

A na ten web RoR (co jiného čekat od podobného příspěvku) a na jednodušší záležitosti Sinatra.

Re: Kdy použít Perl a kdy Python?
« Odpověď #7 kdy: 07. 06. 2010, 23:02:03 »
ruby pro pomalost a zbyde python.

Pomalu, pomalu. JRuby dá Pythonu (a ne jen jemu) pěkně na frak. Ruby v1.9.1 v podstatě dohnal Python (leckde mírně předehnal), Ruby1.9.2 dále akceleruje a MacRuby0.6 zamává i Perlu (bohužel ještě nedokončenému MacRuby neskutečně ujíždí alokace + další "drobnosti", takže se rychlost projeví jen v některých aplikacích).

A na ten web RoR (co jiného čekat od podobného příspěvku) a na jednodušší záležitosti Sinatra.

No a všem jim dá na frak Erlang. Na web aplikace totiž dá na frak prakticky čemukoliv.

logikk

Re: Kdy použít Perl a kdy Python?
« Odpověď #8 kdy: 07. 06. 2010, 23:34:26 »
No, je pravda, že tadle evoluce ruby mi ušla, ale na frak?
http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=yarv&lang2=python&box=1

logikk

Re: Kdy použít Perl a kdy Python?
« Odpověď #9 kdy: 07. 06. 2010, 23:35:52 »
(omylem sem odeslal:)
... nicméně je fakt, že použít jde cokoli, i když whitespace bych moc nedoporučoval....

Jarda

Re: Kdy použít Perl a kdy Python?
« Odpověď #10 kdy: 08. 06. 2010, 13:55:40 »
No, je pravda, že tadle evoluce ruby mi ušla, ale na frak?

Jak kdy :-) Dost to skáče podle toho jak má aplikace namíchané operace. U mandelbrota jsem měl Perl a Python 6x pomalejší než MacRuby (vše bez optimalizací), které zase v rekurzích totálně vyhořelo atd. Rozptyl těch benchmarků je tak velký, abych to osobně neřešil nehledě, že ani s Ruby1.8 jsem neměl problém s výkonem běhu a priority mám jinde.

Manny by si měl vybrat především podle toho, co mu víc sedne.

Manny

Re: Kdy použít Perl a kdy Python?
« Odpověď #11 kdy: 08. 06. 2010, 14:11:14 »
Před nedávnem jsem implementoval dva menší projekty - jeden v pythonu a druhý v perlu a oba se týkaly zpracování obsahů souborů.
Tudíž řeším ono dilema, na co je vlastně ten jazyk a na co druhý.

Syntaxí mi je bližší asi Perl.. Proč jsem tady tento topic zakládal - teďka mě čeká práce na menším skriptu, kdy budu řešit práci se soubory - tzn. budu řešit existenci souborů (obrázků), v případě že neexistují, tak je pomocí jednoho z těchto dvou jazyků vytvořím a zmenším/zvětším pomocí nějaké předlohy (tzn. mám nějaký obrázek a podle něho vytvořím nový soubor - např. obr1.png, ale ten obrázek bude zvětšený od toho původního)

Takže tady směřovala má otázka.. a provozovat bych to chtěl na webu, protože práce se soubory mi v php přijde trochu neohrabaná..

Jarda

Re: Kdy použít Perl a kdy Python?
« Odpověď #12 kdy: 08. 06. 2010, 14:48:14 »
Tohle byste mohl implementovat klidně v shellu. Pokud vám vyhovuje víc Perl, jděte do Perlu.