[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