Re: C a štábna kultúra -> was:Re: LPCxpresso: Potize s optimalizaci

Vláďa Anděl vaelektronik na vaelektronik.cz
Čtvrtek Červenec 28 12:34:21 CEST 2016


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
>



Další informace o konferenci Hw-list