OT arduino, was: co s digitrony

Miroslav Mraz mrazik na volny.cz
Čtvrtek Červen 14 21:20:28 CEST 2018


Taky mě to tak připadá.
Z didaktického hlediska je styl kódování arduino opravdu dost nevhodný. 
C++ je všechno možné jen ne jednoduché. Já s ním zápolím už více jak 20 
let a netroufl bych si tvrdit, že znám všechna jeho temná zákoutí. 
Samotné C je o mnoho jednodušší a přesto je v něm možné snadno vytvořit 
spoustu konstrukcí jejichž celková funkčnost je problematická - může se 
lišit případ od případu (proto např. MISRA). Že to není až taková sranda 
svědčí i některá témata v této konferenci.
Naroubovat něco takového na 8-bitový procesor, který má několik 
oddělených adresních prostorů je možné jen když přesně víte co děláte. 
Tedy znáte tu konkrétní architekturu a její možnosti. Proto je ten 
vnitřní kód v arduinu takový divný. Mě například dost dlouho vrtalo 
hlavou proč je pro zápis logické hodnoty na výstupní pin použita čistě 
C-čková konvence
funkce (&instance, hodnota);
když se jinde (sériový port) normálně používá logičtější (z hlediska C++ 
a ostatního kódu) zápis
instance.metoda (hodnota);
Pak jsem to zkusil udělat takto pro AVR - a bylo rázem jasno. Právě 
kvůli oddělení adresních prostorů pro takovou konstrukci vygeneruje 
překladač tak hrůzný kód, že bude prakticky nepoužitelný. Přitom třeba 
na ARM, kde je jednotný adresní prostor v podstatě není rozdíl mezi 
těmito dvěma konstrukcemi - vždyť dělají totéž. Mám takový dojem, že pro 
začátečníka je taková nekonzistence zbytečně matoucí.

Obecně bych si troufl tvrdit, že dnešní generace už se vůbec nezabývá 
tím, jak funguje procesor. Máme přece jazyk vyšší úrovně, tím popíšeme 
problém a je hotovo. Nic proti tomu, takhle se to taky dá, jen mi 
přijde, že matematický background který je pro tenhle přístup potřeba 
znát je mnohem obtížnější zvládnout než pochopit funkci toho procesoru.
Je dost možné, že důsledný matematický popis je právě to, co je v dnešní 
době v oboru programování potřeba. Jen ještě neexistují pedagogové, 
kteří by to dokázali nějak lidsky vysvětlit. Co jsem tak prolézal 
internet, lidi, kteří tohle chápou tvoří spíš uzavřenou sektu a výstupy 
jejich práce jsou natolik scholastické, že jsou pro normálního člověka 
naprosto nestravitelné.

Mrazík

Dne 14.6.2018 v 19:45 Jan Waclawek napsal(a):
> Je mozne, ze len zle urobene veci sa rozsiria (su na to
> ekonomicko-psychologicke odovodnenia);
> wek


Další informace o konferenci Hw-list