C++ vs C, was: [komercia] Kniha o programovacom jazyku C

Miroslav Mraz mrazik na volny.cz
Čtvrtek Červenec 13 14:06:30 CEST 2023


Celkem se vším, co píšete se dá souhlasit. Jen doplním že && v C++ lze 
nahradit and, || or a ! not. Doplním.
To přetěžování funkcí je diskutabilní, někde je to prostě potřeba, jinak 
by se to muselo udělat úplně jinak a mnohem složitěji (fmt::print). Ale 
uznávám, že by se bez toho dalo obejít.
C++ je tak složité (ten Eckel má rozsah asi jako Vojna a mír od 
Tolstého), že stejně každý používá jinou podmnožinu jazyka. Proto se to 
po jiných obtížně čte.
Místo dědičnosti také raději používám kompozici, ale lidi jsou líní tak 
to mastí do jedné třídy. V tom příkladu kompozice je a je jí tam dost, 
jen to není nijak zdůrazněno.

Mrazík

On 13. 07. 23 10:30, Jan Waclawek wrote:
> Dakujem, so zaujmom som si precital (pdf, nie kod), aj ked som vacsine
> nerozumel :-)
> 
> Ono vela veci by bolo uzitocnych pre niektore konkretne pripady, alebo aj
> mozno vseobecnejsie, ale jednoducho ked ich je privela, tak sa stavaju
> pritazou lebo si to clovek nedokaze vsetko pamatat. Ten syntactic sugar je
> v mnohom prave toto, je to zaujimave a uzitocne ale treba si pamatat ze
> ako sa to pouziva, a to nielen pri pisani, ale aj pri citani.
> 
> A u mcu sa to zhorsuje tym, ze si treba pamatat aj to mcu aj hardware
> naokolo.
> 
> A tiez mi vadi to, ze ten C++ vznikol presne ako C, zivelne, bez hlbsej
> analyzy resp. ignorujuc existujuci "stav vedomosti"; proste len ako
> konkretne riesenie na konkretne potreby autorov v danom konkretnom
> okamihu. Potom sa z toho snazi zvysok sveta vysomarit, ale vysledok je
> kompromis. Ja s C++ v praxi pracujem malo a aj to je skor take C-- (t.j.
> bez cohokolvek co je C++11 a novsie), ale neustale mam pocit, ze tie
> vlastnosti, ktore mi skutocne pomahaju, su permanentne vyvazovane tym, ze
> tie vlastnosti maju spustu nedostatkov a obmedzeni. Napr. dedicnost moze
> byt aj fajn, ale neustale bojujem s tym, ze metody potomkov v niektorych
> pripadoch velmi typicky su rozsirenim metody predka, a tak potrebuju
> najprv volat tu istu metodu predka, na co neexistuje nejaky genericky
> postup, treba to vzdy napisat explicitne.
> 
> A tiez mi vadi to, ze ten C++ rovnako ako C sa maniakalne snazi o setrenie
> znakov v zapisoch (napr. & miesto AND) a recykluje klucove slova (napr.
> static, ale aj & a * co mozno nie su slova ale su recyklovane) cim sa
> stavaju kontextovo zavislymi, t.j. treba si precitat viac aby clovek
> pochopil, o co ide. To znova stazuje citanie.
> 
> A u C++ je toto este zhorsovane tym pretazovanim operatorov (co je oboje -
> aj recyklovanie, aj to ze si to treba pamatat) - ja rozumiem, preco to
> pokladate za uzasnu vec, ale ja osobne to pokladam za obrovsku chybu, lebo
> to robi programy velmi tazko citatelnymi. Inaksie povedane, v prostredi,
> kde sa program napise a zabudne, je to mierna vyhoda; v prostredi, kde
> program musi byt udrziavany dlhodobo, treba sa k nemu vracat a mozu to byt
> rozni ludia, to moze byt obrovska nevyhoda.
> 
> Dufam ze toto ako prispevok do flame staci... :-)
> 
> wek
> 
> PS.  "delejte si s tím co chcete, ale neobtežujte me s tím, že to
> nefunguje" *je* licencia... licencia nemusi byt typova... [reklama] ... a
> pisem o tom aj v knizke :-) [/reklama]
> 


Další informace o konferenci Hw-list