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