Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > cz.comp.lang.python > #3047

Re: [python] [django-cs] Beating the Averages

From Petr Viktorin <encukou@gmail.com>
Newsgroups cz.comp.lang.python
Subject Re: [python] [django-cs] Beating the Averages
Date 2015-11-09 23:26 +0100
Organization Netfront http://www.netfront.net/
Message-ID <mailman.7.1447108039.3505.python@py.cz> (permalink)
References <5640A3B5.8090900@sandbox.cz>

Show all headers | View raw


Nevím nakolik je tenhle článek aktuální v době kdy startupům spíš než
o algoritmy jde o UI, a kdy lze cokoliv slepit z existujících součástí
mnohem rychleji než jde napsat framework v tom nejlepším jazyce. A co
se týče výroby těch součástí, vyhrávají holt jazyky, které se dají
naučit za odpoledne :)
Nemá cenu dneska porovnávat Lisp třeba s Javou, jako to dělá článek;
pokusím se ale rozepsat proč píšu v Pythonu a ne Lispu.
Student Pythonu začíná u lepení součástí k sobě, ve srozumitelném
zápisu ("jako v matematice"). A postupně, spolu s nabýváním zkušeností
s existujícími, fungujícími řešeními, se pak může učit jak takové
bloky vytvářet. Oproti tomu v Lispu se nejlíp programuje tak, že si
člověk napřed napíše jazyk, ve kterém by bylo vhodné řešit daný
problém, a pak ten problém elegantně vyřeší.
O něčem podobném jsem mluvil na EuroPythonu s Georgesem, který
porovnával Python s Haskellem. V Haskellu se dají tvořit nové
operátory, takže každá knihovna si pak definuje několik operátorů,
jejichž použití je krásně elegantní, ale těžko se o nich třeba něco
vygooglí. V Pythonu napíšeš metodu: zavolat ji je relativně
těžkopádné, ale ze jména mnohem líp poznáš, co dělá. Podobně v Lispu
můžeš udělat cokoliv – ale než to zdokumentuješ a vysvětlíš někomu
jinému než třem nejbližším kolegům, kteří ví jakým způsobem myslíš,
horda Pythonistů tě předežene. Protože Pythonisti myslí všichni
stejně. A to je hlavní výhoda Pythonu proti Lispu: "pythonic" znamená
"jak by to napsal Guido". Je to omezení, které umožňuje spolupráci.
Když ohrnuju nos nad Djangem a říkám že by se to dalo napsat líp,
dělám to s vědomím že *já* bych to líp nenapsal – ani kdybych byl lisp
aikido mástr. Nemůžu soupeřit s obrovskou komunitou která staví na
knihovně, která funguje a dá se použít hned teď.


Ale jinak je Lisp super, a mainstreamové jazyky se mu limitně
přibližují (viz další esej od PG:
http://www.paulgraham.com/diff.html).
Když se naučíš C, budou tvoje Pythoní programy rychlejší, i kdybys pak
C dál nepoužíval.
Když se naučíš Lisp, budou tvoje Pythoní knihovny elegantnější, i
kdybys pak Lisp dál nepoužíval.

Jinak jestli chcete začít s Lispem, já jsem svého času přečetl jedním
dechem "ANSI Common Lisp" od G Steela; dnes už ale bude asi lepší
začít na Clojure.


2015-11-09 14:46 GMT+01:00 Vladimir Macek <macek@sandbox.cz>:
> Ze Paul Graham je genius, o tom asi mnoho z vas presvedcovat nemusim. Cetl
> jsem zrovna Joela a on odkazal urcitym terminem na clanek
>
> http://www.paulgraham.com/avg.html
>
> Nejdriv jsem se klasicky lekl delky. Prirozene, je 21. stoleti. Ale precetl
> jsem ho cely, slovo od slova. Je to neco uzasneho, moudrost, lehkost,
> diplomacie, spousta veci, ktere by se proste daly citovat, odkryti faktu,
> ktere jsem jen tusil. A krome toho mi to udelalo radost.
>
> Pokud se zajimate o programovani ve vyssim smyslu a ten clanek jste
> necetli, nebo jste ho v minulosti jen preletli, prosim vas, 1) udelejte si
> na nej cas v klidu, 2) venujte mu pozornost, 3) pokud vas zaujme, ozvete se
> mi. Chtel bych si o tom promluvit.
>
> Dik,
>

--- news://freenews.netfront.net/ - complaints: news@netfront.net ---

Back to cz.comp.lang.python | Previous | NextNext in thread | Find similar


Thread

Re: [python] [django-cs] Beating the Averages Petr Viktorin <encukou@gmail.com> - 2015-11-09 23:26 +0100
  Re: [python] [django-cs] Beating the Averages Matěj Cepl <mcepl@cepl.eu> - 2015-11-10 11:26 +0100

csiph-web