[python] Brainstorm request: Vyuka programovani na gymplu

superman feed na centrum.cz
Sobota Červen 14 01:56:37 CEST 2008


slush napsal(a):
>
>     Není v programování nic horšího, než předsudky.
>
>
> Tak az po tenhle bod jsem celkem souhlasil. Pokud to myslite tak, ze 
> trpim nejakymi vyraznymi predsudky (napriklad vuci globalnim 
> promennym), musim Vas zklamat
Nic takového jsem netvrdil. I když diskutuji s Vámi, tak stále mám na 
vědomí, že to čte daleko víc lidí, a tahle věta byla obecná pro diskusi, 
nikoli žádná konkrétní reakce na Vás. Pokud to tak vyznělo, pak se omlouvám.
> Ano, uznavam, ze DOBRY programator muze pouzit globalni promenne, aniz 
> by ohrozil/omezil pouzitelnost nebo bezpecnost kodu. Na druhou stranu, 
> cetl jsem (a co hur, musel upravovat) megabajty zdrojovych kodu, kde 
> ne kazdy programator patril do skupiny DOBRY a to me naucilo, ze 
> radsi, nez abych honil vykonovy boost par procent tim, ze zavedu 
> superrychlou globalni promennou, udelam kod trochu obecnejsi a citelnejsi.
Řekněme to tak, týmové projekty, kde se vystřídá dostatek lidí se dělají 
jinak, než projekty o pár lidech, kde určitá odbornost lidí existuje. V 
týmových projektech, kde nejsou odborníci je navíc nejspíš zcela 
vyloučeno dělat projekt, kde kriticky záleží na rychlosti, efektivitě apod..
>
> Jsem relativne mlady, ale jeste pamatuji dobu, kdy jsem v QBasicu, 
> Pascalu a pozdeji Ccku honil doslova bity a milisekundy ve smyckach, 
> aby neco bylo rychlejsi nebo mensi - a casto na ukor citelnosti. 
> Myslim, ze s dnesnimi vykony pocitacu toto opravdu neni potreba a 
> udrzitelnost aplikace by mela mit prioritu.
Ono to velmi málokdy bylo potřeba i v tehdejší době. Jen se mi nelíbí, 
že nenápadně dáváte do souvislosti nepoužívání globálních proměnných a 
udržovatelnost programu - a ona to není nutně pravda.

I dnešní výkony počítačů mohou být slabé - a to jak subjektivně, tak 
objektivně.

Subjektivně myslím to, že dnešní programátor většinou vůbec nerozumí 
tomu, jak to v počítači chodí, natož aby vůbec byl schopen napsat 
efektivně program. To se projevuje například v javovských programech 
velmi jasně - není žádný objektivní důvod, proč by javovské desktopové 
programy měly být tak pomalé a žravé, jako v praxi jsou - a důvodem je 
absolutní nezkušenost a neznalosti běžných javistů, co se jim vlastně v 
programu při běhu děje.

A pak objektivní - stále jsou kritické části - například neuronové sítě, 
složité vedeckotechnické výpočty, grafické modelování, enkódování videa, 
louskání šifer, modelování molekul, či provádění smyček v exclusive lock 
zámku.

V případě, že je rychlost opravdu naprosto kritická - pak jde všechno 
hezké stranou, včetně udržovatelnosti, srozumitelnosti a přehlednosti - 
nelze jí vůbec požadovat ani udržet. Nutno říci, že takhle kritických 
projektů je naprosté minimum, a běžný programátor se k nim zřídka 
dostane - už jenom proto, že na to nemá ani kvalifikaci, ani zkušenosti 
- a žádný soudný člověk by mu to nesvěřil.
>
> Usmevne bylo, ze velka cast programatoru, co se ohaneli optimalizaci 
> kodu a absenci getteru/setteru prasili kod bez elementarnich znalosti 
> algoritmizace.
Ano, optimalizují nanosekundy - tuhle nemoc vidím kolem sebe hodně 
často. Zejména od lidí, co si přičichli k assembleru, nebo čistému C.

Miloslav Ponkrác



Další informace o konferenci Python