Prikaz ++i by mel byt prohlasen za syntakticky nespravny (RE:[python] kritika slovniku terminu Pythonu)

Petr Prikryl Prikryl na skil.cz
Úterý Srpen 26 13:09:54 CEST 2003


Jan Samohyl napsal...
> pepr napsal...
> > [...] Netvrdím, ?e se "?ádná
> > funk?nost" p?íkazu ++i nedá rozumn? vysv?tlit. Tvrdím jen
> > to, ?e je to matoucí. Pokud chcete psát záporný výraz, asi
> > nenapí?ete nikdy ---x. Pokud ale pracujete v C/C++, pak
> > se velmi ?asto seknete a napí?ete ++i místo i += 1. 
> 
> To je prave ono, matouci je to jenom pro toho, kdo zna C/C++, 
> jinak ne. Myslim, ze C/C++ je tady ve skutecnosti spatne, a ze
> pouzivani ++x misto x+=1 nebo x++ by se melo (v C) zakazat 
> (beztak jsou to jen zkratky). A vubec spousta veci v Pythonu je pro
> Cckare zprvu matouci, a napravovat to by byl nesmysl.

C a C++ jsou asi hlavní jazyky, ve kterých se píšou ne-pythonovské
implementace pythonovských modulů.

V čem je se srozumitelnost ++x liší od srozumitelnosti x += 1 ?
Oba tyto obraty pocházejí z C. Jiné jazyky vyžadují x = x + 1.
Zatím jsem neměl pocit, že by mě Python v ostatních věcech nějak
mátl. Věci, které vypadají stejně, se i podobně chovají (nebo 
se chovají očekávaným způsobem). Když někde uvidím zápis
"++x", pak to prostě nepovažuji za totéž co "x". Automaticky
předpokládám, že k zápisu dvou plus musí být nějaký důvod. 
Na základě znalosti C předpokládám, že se jedná o inkrementaci.

> > A? po dlouhém bádání pak zjistíte, pro? ten vá? program 
> > nefunguje. Toto je jádro mé námitky. Práv? proto si myslím, 
> > ?e pro ++i by Python m?l hlásit syntaktickou chybu nebo 
> > varování. V tomto smyslu jsem vznesl nám?t RFE 794519.
> 
> Blbost. Co kdyz si nekdo predefinuje operator prefixove + 
> tak, ze nebude idempotentni, a bude se mu pak hodit ++++a apod.? 

Nenapadá mě důvod, proč bych si chtěl nějakým způsobem 
předefinovat operátor unární plus. Hlavně mě nenapadá, 
v čem by to pak mohlo zpřehlednit zápis programu.

pepr



Další informace o konferenci Python