Kniha o C či C++

Kniha o C či C++
« kdy: 21. 11. 2024, 14:53:13 »
Pročítám si Linux Programming Interfaces a chtěl bych se naučit víc C či C++ pro potřeby programování v Linuxu a rozumění open source nástrojům uvnitř, doporučíte nějakou literaturu? Ideálně dostupnou i jako PDF, něco komplexního. Umím skriptovat Python, Typescript, i nějaká Java, ale s C jsem dělal už před nějakým časem a chtěl bych to pochopit.


Re:Kniha o C či C++
« Odpověď #1 kdy: 21. 11. 2024, 17:07:46 »
https://www.bugs.frozent.pl/Effective%20Modern%20C++%20(%20PDFDrive.com%20).pdf

ale knizek je tuna.

pokud jsi videl c/c++ uz davno, tak je mozne, ze jsi jeste nevidel nove c++11 a vyssi, tam pribylo docela dost
novych neci jako jsou leve a prave reference, operace move, chytre pointery.

takze jednodussi bude se spis podivat na c, kde se clovek sice musi taky naucit pointery a veci okolo, ale je v tom
mensi hokej nez v c++.

pripadne je jesta zajimavy jazyk golang.

Re:Kniha o C či C++
« Odpověď #2 kdy: 22. 11. 2024, 00:29:43 »
Knihy mého mládí jsou dnes do jisté míry zastaralé. Mám na ně ale hezké vzpomínky :-)

Třeba Beginning Linux Programming. Nakousne spoustu témat, ale tak akorát, aby se člověk zakousl a dál už študoval po svém / jinde. Třeba kapitola o libpthread (vláknové synchronizaci) je ve skutečnosti velice "nekompletní" - tehdy mi dost pomohl článek na Linuxových novinách (linux.cz) který dnes už nenajdu ani skrz wayback machine... škoda. Ta kniha má kapitoly o všem možném, doporučuji.

Další byla Thinking in C++ od Bruce Eckela. Bejvala zadarmo na mindview.com, dneska se válí kopie různě po webu. Volume 1 základy, Volume 2 "pokročilá" témata. Volume 2 jsem nedočetl - přišlo mi, že jsem u konce s dechem buď já, nebo možná autor :-) Hlavně to co byla před 25 lety pokročilá témata, to je dnes buď dětská hra, nebo bizardní slepá vývojová větev. Navíc mi ve zpětném ohledu připadá, že ta kniha byla sice čtivá, ale ne úplně systematická... A některá tehdejší dogmata se rozplynula jak pára nad hrncem apod. Některé věci se změnily, hlavně do standardní knihovny přibývají užitečné objekty, které si dřív člověk musel obstarat po svém. V dnešní době dost užitečný zdroj aktuálních informací je cppreference.com (online referenční příručka standardního C++, prakticky každé heslo končí examplem).

Ohledně posixových vláken a synchronizačních primitiv mám pocit, že se nedávno dostala prakticky nastojato do standardu C++, akorát už se jim neříká libpthread :-) Je to maličko komické ve světě Windows, kde komunikace mezi vlákny vypadá v rámci WinAPI nativně dost jinak.

A nakonec, čtivé bylo už evangelium podle Briana a Dennise: The C Programming Language (Kernighan and Ritchie). I tady se za těch cca 40 let tu a tam něco změnilo, ale ne natolik, aby starému textu nebylo rozumět :-)

Re:Kniha o C či C++
« Odpověď #3 kdy: 22. 11. 2024, 07:06:44 »
Z kníh by som začal asi priamo u zdroja: https://www.stroustrup.com/tour3.html, je to taký prehľad, toto vydanie som nečítal, ale to prvé bolo predstavením toho, čo sa volá moderné C++ a ukazovalo písanie kódu jednoduchším spôsobom. Myslím, že táto bude mať ešte viac zjednodušení.

Vývoj C++ ako jazyka a knižníc ide v smere hľadania lepších abstrakcií, ktoré nahradzujú tie, ktoré sú považované za nebezpečné alebo náročné na pochopenie, dokonca tie pôvodné techniky už nie sú odporúčané na bežné písanie, skôr sa od nich systematicky odradzuje.

Ďalší smer vo vývoji jazykov všeobecne je, že k sebe konvergujú, takže aj do C++ preniká funkcionálne programovanie, aj keď to je tam v rôznych úrovniach a do istej miery už odvtedy, čo Stepanov uviedol STL a odvtedy, čo, už neviem kto, šokoval ostatných, keď zistil, že šablóny sú vlastne samostatný funkcionálny jazyk.

Potom ešte existujú oficiálne odporúčania ako písať kód, sú spravované kľúčovými členmi normalizačnej komisie (C++ má normu v rámci ISO), to je na https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines. Je to skvelý zdroj Informácií organizovaný podľa jednotlivých tém.

A potom ešte stojí za to sledovať konferencie, najznámejšia je tu: https://m.youtube.com/@CppCon.

Tu je napríklad sumarizácia toho kam C++ smeruje a aké rozšírenia možností a zjednodušenia práce to prinesie: https://m.youtube.com/watch?v=FNi1-x4pojs

Re:Kniha o C či C++
« Odpověď #4 kdy: 22. 11. 2024, 11:14:16 »
Knihy mého mládí jsou dnes do jisté míry zastaralé. Mám na ně ale hezké vzpomínky :-)

Třeba Beginning Linux Programming. Nakousne spoustu témat, ale tak akorát, aby se člověk zakousl a dál už študoval po svém / jinde. Třeba kapitola o libpthread (vláknové synchronizaci) je ve skutečnosti velice "nekompletní" - tehdy mi dost pomohl článek na Linuxových novinách (linux.cz) který dnes už nenajdu ani skrz wayback machine... škoda. Ta kniha má kapitoly o všem možném, doporučuji.

Díky, to vypadá dobře, můj cíl je stejně dokázat si jen poupravit či doladit nějaký zdroják, nemám ambice stát se C++ programátor, jen občas když otevřu céčkový zdroják a chci něco poladit, tak je to pro mě hatmatilka.


Re:Kniha o C či C++
« Odpověď #5 kdy: 22. 11. 2024, 11:33:47 »
Možná se klidně ptejte, na konkrétní útržky / syntaktické elementy, kterým nerozumíte.

qelurg

  • ****
  • 382
    • Zobrazit profil
    • E-mail
Re:Kniha o C či C++
« Odpověď #6 kdy: 22. 11. 2024, 14:42:35 »
Herout, starej, ale dobrej, začal jsem učit programovat syna a koupil jsem mu poslední vydání, sám mám pořád první.

Re:Kniha o C či C++
« Odpověď #7 kdy: 22. 11. 2024, 16:22:48 »
Prvne bych vzal tuto:
Learn C the Hard Way, Zed Shaw.
https://www.amazon.com/Learn-Hard-Way-Practical-Computational/dp/0321884922

A teprve potom neco formalnejsiho. Inu i sam autor to v knizce doporucuje ;-)

Longin

  • ***
  • 142
    • Zobrazit profil
    • E-mail
Re:Kniha o C či C++
« Odpověď #8 kdy: 22. 11. 2024, 19:50:19 »
Prvne bych vzal tuto:
Learn C the Hard Way, Zed Shaw.
https://www.amazon.com/Learn-Hard-Way-Practical-Computational/dp/0321884922

A teprve potom neco formalnejsiho. Inu i sam autor to v knizce doporucuje ;-)
přijde mi divně napsaná a Zed Shaw je docela exot

RDa

  • *****
  • 2 785
    • Zobrazit profil
    • E-mail
Re:Kniha o C či C++
« Odpověď #9 kdy: 22. 11. 2024, 21:05:29 »
Asi bych rozhodnul zda chci C nebo C++ (nebo C#), ackoliv vsechno ma v nazvu C, tak je tam dramaticky rozdil :)

Asi jako mezi mikrokontrolerem a pocitacem.

Naucte se jedno, pro urcitou oblast, a druhe pro jine oblasti vyuziti. (ja treba jedu C nebo PHP... v C++ nespatruji moc potrebu pro vlastni projekty, a ty cizi v tom jsou stransej hnuj vetsinou :D)

Re:Kniha o C či C++
« Odpověď #10 kdy: 22. 11. 2024, 22:09:12 »
Asi bych rozhodnul zda chci C nebo C++ (nebo C#), ackoliv vsechno ma v nazvu C, tak je tam dramaticky rozdil :)

Asi jako mezi mikrokontrolerem a pocitacem.

Naucte se jedno, pro urcitou oblast, a druhe pro jine oblasti vyuziti. (ja treba jedu C nebo PHP... v C++ nespatruji moc potrebu pro vlastni projekty, a ty cizi v tom jsou stransej hnuj vetsinou :D)

existuje i C-- a C2

ox ox

Re:Kniha o C či C++
« Odpověď #11 kdy: 23. 11. 2024, 18:01:08 »
... C jsem dělal už před nějakým časem a chtěl bych to pochopit.

Kdysi ještě před Heroutem někdo přeložil ASCII K&R kuchařku c pro online práci programátorů, přikládám odkaz:
https://www.transfernow.net/dl/20241123A65b7RHT