ceckovy kviz 2 (hardcore)

Aleš Procháska ales.prochaska na divesoft.com
Čtvrtek Září 7 17:49:54 CEST 2023


Otázka je, kdy je třeba program zevnitř ošklivý. Mně se zase nelíbí, když někdo šetří každým bitem aniž by musel (píše třeba pod Windows na současném počítači) a ve verzi 2.0 pak horko těžko cpe devět bitů do osmibitové proměnné, když mohl dodržet aligment na qword a nic by ho to nestálo :-)

Aleš Procháska


From: Hw-list <hw-list-bounces na list.hw.cz> On Behalf Of Petr Labaj
Sent: Thursday, 07 September, 2023 17:03
To: hw-list na list.hw.cz
Subject: Re: ceckovy kviz 2 (hardcore)

Když jsem jako mladé ucho nastoupil do svého prvního zaměstnání ještě za totáče, tak jsme tam měli jednoho mechanika.
Šikovný a pracovitý borec.
Po odpoledních (po práci) si stavěl malou černobílou televizi.
Vždy jsem obdivoval, jak pěkný vyrobil třeba chladič na nějaký tranzistor dovnitř té bedny.
Když jsem se ho ptal, proč se s tím tak maže, když to stejně vevnitř nebude vidět, tak mi řekl větu, která mě provází celý život.
Řekl: "Udělat to pěkné zvenku umí každý mamlas. Ale profík to má pěkné i vevnitř."

PL

*******************
Dne 7.9.2023 v 16:52 Pavel Poucha napsal(a):
Zdravím,

toto je samozřejmě na velkou diskusi. Pan Procházka ale píše o "jednoúčelovém" programu.

Taky občas (já nebo nějaký opravdový programátor) podobné prográmky píšu. To jsou třeba programy, které přehází kus databáze informačního systému, nějak upraví data a pak už nikdy nebudou potřeba. Tam je několik možností:
1) Zadat to kolegyni, a ta to za 3 dny udělá (s rizikem chyb)
2) Napsat během hodiny program s neoptimalizovaným SQL dotazem, přenosem spoustou zbytečných dat, vyzkoušet ho na vzorku dat, pustit ho na to, a on to provede to během 3 minut
3) Napsat optimalizovaný program, den jej ladit, testovat, pustit ho na to, a on to provede to během 10 sekund

Tím vůbec nehájím nějaké nepěkné a ledabylé psaní programů, i já často kus přepíšu, jen aby to bylo podle zásad atd.

S pozdravem
ing. Pavel Poucha
jednatel
pavel.poucha na papouch.com<mailto:pavel.poucha na papouch.com>
Tel. +420 777 232 485

Papouch s.r.o. - vývoj
Papouch store s.r.o. - obchod
Papouch production s.r.o. - výroba
Workmonitor s.r.o. - monitorování výroby

Máte-li chuť, navštivte naše stránky http://www.papouch.com/


čt 7. 9. 2023 v 16:18 odesílatel Petr Labaj <labaj na volny.cz<mailto:labaj na volny.cz>> napsal:
Nojo, no. Je to jedno z mých mnoha duševních postižení, že chci, aby
programy běžely pokud možno rychle a efektivně.
I za cenu toho, že nepůjdu spát už v 5 hodin ráno, ale až o půl šesté.
Spousta lidí to ale zřejmě vidí jinak. Proto mi dneska mnoho programů na
4 GHz mocjádrovém procesoru běží podobně rychle, jako kdysi na 4 MHz
Z-80A. :-(

PL

******************

Dne 7.9.2023 v 16:05 Aleš Procháska napsal(a):
> Budiž, takhle to může fungovat. Ale víc se mi líbí funkce, která vyhodí warning při kopírování příliš velkých proměnných (což člověk skutečně může nechtěně udělat). Samozřejmě potlačitelný, protože nakopírovat tisíckrát sto kilo trvá pět milisekund a kdyby mi to mělo ušetřit pár řádků u nějakého jednoúčelového programu, nebudu váhat to využít :-) Nehledě na to, že třeba podle MISRA bych se ani neměl pokoušet použít jinou techniku než přímé kopírování statických proměnných.
>
> Aleš Procháska
>
>> -----Original Message-----
>> From: Hw-list <hw-list-bounces na list.hw.cz<mailto:hw-list-bounces na list.hw.cz>> On Behalf Of Petr Labaj
>> Sent: Thursday, 07 September, 2023 14:11
>> To: hw-list na list.hw.cz<mailto:hw-list na list.hw.cz>
>> Subject: Re: ceckovy kviz 2 (hardcore)
>>
>> A věříte, že zrovna tohle mi připadá docela dobré?
>> Zvlášť u programátorů, hodně vzdálených od hardware.
>>
>> Pokud v nějakém jiném jazyku můžu napsat "polea=poleb", tak to zdánlivě
>> vypadá jako nějaké přiřazení, kde o nic nejde. Klidně to udělám v cyklu 1000x.
>> Jenže to může znamenat 1000x nakopírovat třeba 100kByte paměti.
>>
>> Kdežto když si to musím přesunout nějakým memcpy, tak už si uvědomím, že
>> to asi není tak levná operace, a že bych s nimi měl šetřit.
>>
>> PL
>>
>> ******************
>>
>> Dne 7.9.2023 v 12:51 Aleš Procháska napsal(a):
>>> O jedné krokolomné věci kterou musí používat bych věděl :-), a to je
>> absence pole v céčku. Programátor musí použivat krkolomný workaround
>> typu memcpy (a tedy v každém okamžiku vědět, jestli pracuje s polem nebo
>> strukturou, což třeba já nejpozději do padesátí řádků spolehlivě zapomenu).
>>> Aleš Procháska
>>>
>>>> -----Original Message-----
>>>> From: Hw-list <hw-list-bounces na list.hw.cz<mailto:hw-list-bounces na list.hw.cz>> On Behalf Of Petr Labaj
>>>> Sent: Thursday, 07 September, 2023 02:37
>>>> To: hw-list na list.hw.cz<mailto:hw-list na list.hw.cz>
>>>> Subject: Re: ceckovy kviz 2 (hardcore)
>>>>
>>>> Souhlas.
>>>> Nějaká skákání doprostřed bloků před else (jak tady bylo zmiňováno)
>>>> jistě není to pravé.
>>>> Ale při ošetření různých speciálních stavů často dokáže goto výrazně
>>>> zpřehlednit a zjednodušit kód.
>>>>
>>>> Nějaké to nadávání na C často vychází z nepravdivé premisy, že
>>>> protože jazyk umožňuje i krkolomné konstrukce, tak je programátor musí
>> používat.
>>>> Ale to není pravda. Že jazyk něco umožňuje přece neznamená, že to
>>>> využívat musím.
>>>> Čitelnost a štábní kultura závisí v neprosté většině na
>>>> programátorovi, ne na jazyku.
>>>> (samozřejmě v výjimkou toho, když jazyk vyžaduje takovou kravinu,
>>>> jako je psaní textových oddělovačů bloků begin a end ;-) )
>>>>
>>>> PL

------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20230907/d7ffb029/attachment.htm>


Další informace o konferenci Hw-list