[python] globalni promenne

Jan Samohyl samohyl na webseek.cz
Neděle Únor 16 01:34:47 CET 2003


On Thu, Feb 13, 2003 at 02:09:57PM +0100, Petr Mach wrote:
> 
> >promenne jsou neco jako GOTO (koneckoncu se pouzivaji ve stejnem
> >programatorskem stylu) - mohou usetrit trochu psani, ale lepsi je na ne
> >zapomenout.  zapouzdrete si data do objektu nebo do slovniku a budete muset
> >predavat jediny parametr nebo tak neco - proste "One can design around
> >this" 
> Nesouhlasim. Proti goto se broji, protoze ho zacatecnici neumi pouzivat
> a delaji s nim sileny veci. Presto i to goto melo svuj vyznam, napr. pri 
> vyskoku z nekolikanasobnych cyklu. Protoze se goto dostalo do klatby,
> musely jazyky za goto najit nahradu (uz to dokazuje, ze k necemu bylo),
> napr. continue label (coz je goto pojmenovane trochu jinak a trochu 
> ochranene proti zneuziti) a nebo napr. continue level, kde level udava
> kolik smycek se ma prerusit. Za povsimnuti stoji, ze Python nic takoveho 
> nenabizi a a preruseni vicenasobneho cyklu je nutno resit neintuitivni 
> berlickou, pouzitim vyjimky. To je zneuziti tohoto mechanismu 
> odpovidajici zneuzivani prikazu goto, kvuli kteremu bylo zruseno.

Ciste akademicka debata, ale prece jen: neni nakonec ta vyjimka prehlednejsi, protoze kvuli continue x se musi pocitat a 
hledat x smycek?

Jinak taky nesouhlasim s tim, ze goto nema opodstatneni; nicmene ty situace, kdy by se pouzilo, lze stejne temer elegantne a 
prehledne vyridit vyjimkou.

A jeste neco: novy Python ma ted iteratory, takze pokud mate nejakou komplikovanou smycku a potrebujete ji prerusovat apod., 
muzete ji (obcas) vrazit do iteratoru a mate uplne po potizich. ;-)

S pozdravem Jan Samohyl


Další informace o konferenci Python