[python] cyklus for (bylo superman: zaporny systemovy cas)

Petr Prikryl PrikrylP na skil.cz
Úterý Listopad 28 15:32:43 CET 2006


superman
> Haha. Vzhledem k tomu, že GvR dělá problém pouhá
> implementace některých příkazů, a snaží se je v
> pythonu 3000 vyhodit, přičemž se tímto důvodem
> vůbec netají, pak čekáte subtilnější věci jako je
> optimalizace?

GvR nikomu nebrání vytvořit mnohem dokonalejší
odnož Pythonu. Čeká jen na tebe.

> [...] Navíc python zavádí čím dál víc
> konstrukcí, které by chtěly opravdu velmi vysokou
> inteligenci aby se daly vyoptimalizovat,

Pokud jakákoliv konstrukce větvení nebo cyklu
neprovádí testy a jiné příkazy způsobem, který
by mohl mít za následek vedlejší efekt, a pokud
je tělo takové konstrukce prázdné, dá se úplně
vynechat.

> například klasický cyklus for, který se relativně
> dobře optimalizuje v pythonu neexistuje!!!
> Namísto toho je tam cyklus foreach, který se
> optimalizuje extrémně špatně až nemožně.

Ani v jazycích C/C++ neexistuje klasický cyklus
for. A co je to vůbec klasický cyklus for?
Ten co zavedl (nebo převzal) Pascal? 
Pro objektový přístup, který využívá různé
typy kontejnerů (nejen pole) je průchod přes 
indexy příliš speciální.

> Buďte rádi, že je GvR a spol. schopen napsat
> interpretr jakž takž. I tak se mi to nelíbí. Proč
> se třeba nepoužije generátor parserů a gramatiky
> a namísto si GvR lepí svůj, samozřejmě horší,
> nechápu. Namísto toho na přednáškách o novém
> pythonu se dozvídám, že světě div se, GvR použije
> abstraktní syntaktické stromy!!! To mě zajímá asi
> stejně jako na výstavě traktorů, že jsou tam
> matičky M10.

Pokud vím, je gramatika Pythonu LL(1) a v takovém
případě může být pro interpret efektivnější 
(z hlediska rychlosti tvorby a snadnosti údržby)
použít překlad rekurzivním sestupem. Už jsem z toho
trochu vypadl. Opravte mě, pokud se pletu.

pepr


Další informace o konferenci Python