To je ale přesně co říkám. Na motorce se oproti autu taky snadno vysekáš, stačí štěrk v zatáčce nebo prudce puštěná spojka a už letíš. To se ti v autu (nebo pokud máš pomocná kolečka) nestane. Ne že by se nešlo v autě vybourat. Jde to, ale je třeba vyvinout trochu víc úsilí než jen zprudka pustit spojku. To ale není důvod snažit se zavrhnout motorku nebo ji znásilňovat pomocnými kolečky. Tak jako se mi už dávno nestává, že bych měl na motorce ty výše zmíněné problémy, tak ani v C se mi nestane, co se stává vám s pamětí. Už po těch letech máte vyvinutý určitý podvědomý cvik, jak s takovými objekty zacházet, člověk už ví, že dělá něco potenciálně nebezpečného a podle toho k tomu přistupuje. Ale to je otázka cviku, letité praxe. To se prostě musí zažít. Stejně jako na té motorce. Pokud vám to nejde, není to chyba motorky ani C. Prostě nemáte praxi nebo vám k tomu chybějí vlohy. Můžete furt dobře řídit to auto, ale jsou prostě chvíle, kdy ta motorka je efektivnější a když ji nezvládáte, musíte vzít za vděk méně efektivním řešením.
No já mám v C nacouváno možná víc, než co máš ty odježděno dopředu
. Jenomže narozdíl od tebe znám i Rust. Oproti C nabízí mnohem vyšší míru abstrakce a bezpečnosti při srovnatelném výkonu. Nemá smysl začínat nový projekt v C, když místo C můžeš použít Rust.
Jakmile někdo začně stylem "já nemám v C problém, jenom patlalům se stávají segfaulty", tak je mi jasné, že nemá žádnou zkušenost s větším projektem v C/C++. Chybám při práci s pamětí nejde v C zabránit, už jenom kvůli tomu, že na projektu pracuje více lidí a stačí, aby se nedomluvili nebo nepochopili. Děje se to bohužel úplně běžně v každém projektu jenom trochu složitějším než Hello World.
Chyby dělá každý. Liší se v tom, jaké chyby kdo dělá. Ale chyby, na něž tu narážíte vy, jsem v C dělal někdy tak před 25 lety, když jsem s C začínal. Dnes dělám úplně jiný typ chyb. Použiju tedy jiný příměr - je to podobné, jako byste mi vyzdvihovali nějaký textový editor, který za mě opravuje pravopisné chyby. To je nejspíš užitečná vlastnost pro ty, kdo dělají pravopisné chyby. A protože je to velmi častý jev, tak spousta lidí nejspíš usoudí, že s pravopisem má problém každý. Ale tak tomu není. S pravopisem dávno problémy nemám, spíše udělám nějakou chybu ve větné vazbě nebo v nějaké nešikovnosti typu nadměrného užití nějakého slova v krátkém rozsahu textu. Ale od toho mi žádný editor s opravou pravopisu nepomůže.
Mimochodem, PC mě nijak zvlášť nezajímá, zabývám se většinu života embedded oblastí, zejména systémařinou a low-level vývojem.
Nechci žádnou vyšší míru abstrakce! Ta, co nabízí C, je pro dané věci přesně akorát. Srovnatelné by byly snad jedině PL/M či Oberon, popř. Forth. Tak nevím, proč mi cpeš Rust nebo dokonce Go. K čemu? Když náhodou potřebuji vyšší míru abstrakce na PC, sáhnu např. po Pythonu. Jazyky typu Rust řadím do kategorie ani ryba, ani rak. Pro low-level příliš náročné, pro high-level nedostatečné.