Re: funkce v C - pro€ to nechod
Miroslav Mraz
mrazik na volny.cz
Středa Prosinec 30 19:36:39 CET 2015
Protože mi to Arduino přijde kontraproduktivní až schizoidní. Na jedné
straně je určeno především pro začátečníky a osoby neznalé a na druhé
straně používá z jazyka C++ dost pokročilé vlastnosti, které i zkušenému
programátorovi nejsou na první pohled jasné.
C++ je jednoznačně přínos oproti čistému C, ale vidíte sám, jak je
složité vysvětlit prostý výpočet aritmetického výrazu v C, což teprve
třeba zásady přetěžování operátorů v C++. Všechny tyhle vymoženosti jsou
v C++ jen proto, aby se s tím líp dělalo. Jenže je to složité a dělat s
tím bez bližšího pochopení je zase dost nebezpečné - to, že uděláte
chybu je lidské, ale musíte jí umět najít. A i na tomhle jednoduchém
příkladu bylo vidět, že uživatelsky to jde zapsat hezky jednoduše, ale
ve vnitřku je voláno 5 různých funkcí, aniž by bylo na první pohled
vidět proč. Zkuste v tom pak najít chybu. Dle mého soudu tohle prostě
pro začátečníka není. Ale možná je to jen mylný názor starého člověka,
který začínal s assemblerem a vždy se snažil pochopit jak to ve střevech
procesoru funguje.
Dnes je zřejmě něco takového pod rozlišovací úrovní programátorů a
software pak podle toho vypadá. O spotřebě prostředků už ani nikdo
nepřemýšlí. Na každou blbost je nějaká (obvykle nevhodná) knihovna, tak
jí tam přilinkujeme a pak v tom týden hledáme chybu i když napsat to od
podlahy by trvalo dva dny.
I ty nové prvky v jazycích jako je C++ jsou tam přidávány spíš kvůli
lenosti programátorů než kvůli tomu aby nějak aktivně bránily vytváření
chyb. Nakonec v C++ nenapíšete nic, co by se nedalo napsat i v čistém C
stejně tak jako v čistém C nenapíšete nic, co by nešlo napsat v
assembleru. Jen to v tom C++ lze napsat přehledněji, když se trochu
snažíte a máte dobře udělaný návrh. Příkladem, který se mi líbí je třeba
framework Qt. Na druhou stranu se dá napsat i něco jako boost, ve kterém
jsem se nikdy nevyznal, vyznat nechci a používat to nemíním.
Mrazík
Dne 30.12.2015 v 15:59 Jan Waclawek napsal(a):
>
> Re pan kolega Mrazik: je pekne ze v jednom maile ste vysvetlili do podrobnosti dovody Vasho okuzlenia tymi ++ featurami, a jednym dychom ste hned v uvode napisali, ake matuce to pre uzivatelov moze byt... :-)
>
> wek
Další informace o konferenci Hw-list