RE: C a štábna kultúra -> was:Re: LPCxpresso: Potize s optimalizaci
Pavel Poucha
p.poucha na papouch.com
Čtvrtek Červenec 28 13:04:49 CEST 2016
Zdravím,
nejsem programátor (jen občasný amatér, poslední program pro jednočip jsem
zplodil tak před 10 lety), ale není uvedenou obsluhu klávesnice lépe napsat
jako 3 vnořené cykly a znaky mít definované v poli?
Uvedený příklad je strašně ukecaný (zvláště když bude tlačítek více): Navíc
zjistit ze sekvence příkazů, jaká adresa tlačítka je v aktuálním řádku
nastavena je nepřehledné.
Také příklad nelze rozšířit, abych zjistil vícenásobný stisk, ať už chtěný
nebo nechtěný.
S pozdravem
ing. Pavel Poucha
jednatel
pavel.poucha na papouch.com
Tel. +420 777 232 485
Papouch s.r.o.
Strašnická 1a, 102 00 Praha 10
Tel. +420 272 732 827
Fax +420 272 681 232
Máte-li chuť, navštivte naše stránky http://www.papouch.com/
-----Original Message-----
From: Hw-list [mailto:hw-list-bounces na list.hw.cz] On Behalf Of Vláďa Anděl
Sent: Thursday, July 28, 2016 12:34 PM
To: HW-news
Subject: Re: C a štábna kultúra -> was:Re: LPCxpresso: Potize s optimalizaci
Ta poslední věta mě zachránila od velkých mindráků :-) Kolega taky
programuje strukturovaně, pro PC v Pascalu a pro jednočipy v céčku.
Jenže když pak u toho jednočipu nemá ani tušení, kolik mu ta spousta
vnořených volání zabere ve stacku a co bude jak dlouho trvat, nakonec si
to napíšu podle sebe a aspoň vím, co se tam děje. Jo a v ojedinělých
případech použiju i to goto - no proč né, když je to přehledné a napsat
to lze :-)
Třeba takové čtení 12 tlačítkové klávesnice
Adr1=0; Adr2=0; Adr3=0;
Adr0=0; Zpozkl(); if(!Outkl) { Znak1='*'; goto Stisk; }
Adr0=1; Zpozkl(); if(!Outkl) { Znak1='7'; goto Stisk; }
Adr1=1; Zpozkl(); if(!Outkl) { Znak1='1'; goto Stisk; }
Adr0=0; Zpozkl(); if(!Outkl) { Znak1='4'; goto Stisk; }
Adr2=1; Zpozkl(); if(!Outkl) { Znak1='9'; goto Stisk; }
...
Anděl
Dne 28.7.2016 v 10:02 Miroslav Mraz napsal(a):
> Já samosebou globální proměnné používám a možná jsem někde použil i to
> goto. Jen jsem mírně provokoval - když se ta "štábní kultura" dotáhne
> ad absurdum, tak se některé potenciálně nebezpečné konstrukce jazyka
> jeví jako zcela zbytečné, protože je můžeme nahradit konstrukcí jinou,
> která se už tak nebezpečná nejeví.
> Dobře to vystihl balu, že taková diskuze je podobná náboženství. Těch
> racionálních argumentů pro nebo proti moc není, jde spíš o věc vkusu a
> přístupu ke kódování.
> Nicméně je zajímavé sledovat, jak se přístup k těmto konstrukcím
> postupně mění. Zatímco naivní či nestrukturovaný přístup nemá problém
> ani s goto ani s globálními proměnnými, strukturované či spíše
> objektově orientované programování už říká, že se bez nich obejde. A
> jak roste složitost software, objevuje se deklarativní, funkcionální
> programování, kde na goto už nenarazíte a globální (a vůbec jakékoli
> sdílené) proměnné jsou považovány za Čisté Zlo. Ale to je už patrně
> úplně mimo, pro jednočipy je (zatím) tento přístup nepoužitelný.
>
> Mrazík
>
> Dne 27.7.2016 v 22:03 Jan Waclawek napsal(a):
>> Aj ked do urcitej miery suhlasim; ale ako vsetko, ani toto nie je
>> ciernobiele (co je vlastne povodna odpoved panovi kolegovi Mrazovi,
>> len sa
>> mi zachcelo k jeho bielej postavit ciernu).
>>
>> Ti ludia (Thompson a Ritchie) zahodili desatrocie snah v smere o
>> dokonalost
>> v programovani, ale (a naozaj sa ich velmi nerad zastavam) s C prisli
>> prave v obdobi dvoch vyrazne nepodarenych pokusov v tom smere, PL/1 (s
>> ktorym mali obaja bolestivu skusenost) a Algol68 (ktory mimochodom bol
>> hned po jeho kodifikacii opluty v "minority report" niektorymi jeho
>> spoluatormi, na cele s Dijkstrom a Hoarem). A aj ked v charaktere jazyka
>> je bohuzial velmi citit metodiku "lepenia hovna k hovnu" a hacker
>> spirit,
>> stabnu kulturu zase ti pani mali, vid ich internu spravu o jazyku, ktora
>> sa po rozsireni stala nielen standardom na takmer dve desatrocia, ale aj
>> doteraz zrejme najlepsou ucebnicou jazyka (ja viem ze mi nebude
>> prepacene,
>> ale ja toho Herouta FAKT nemozem).
>>
>> A uz ked spominame klasikov, este jedna poznamka k tomu kategorickemu
>> vyroku pana kolegu Mraza - dufam, ze poznate "GOTO Considered Harmful" -
>> ak nie, doporucujem precitat vratane historie vzniku... a zistite, ze
>> Dijkstra nielenze nenapisal ten nadpis, ale on tam ani nepise, ze
>> "neexistuje dovod... pre GOTO"... vlastne presne naopak.
>>
>> wek
>>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
_______________________________________________
HW-list mailing list - sponsored by www.HW.cz
Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list