Carte c/c++ in 2021

Vreau sa cumpar o carte de C++ pentru un elev in clasa a IX-a

As vrea sa fie ceva gen “bible” , hardcover care sa fie valabila si peste 20 de ani. Sa porneasca de la zero si sa sa duca in cel mai mic detaliu.

Eu am invatat prin 99 din asa ceva, dar nu mai tin minte si stiu ca era un cost pe care nu mi-l permiteam

Any ideas?

Tx

La cum se schimba limbajele, in 5 ani o sa ai surpiza ca este deja expirata.

Pare ca asta este biblia

Dar este overkill pt cineva de clasa a 9 a care a buchisit programarea
Dar lucrurile de baza o sa fie valabile tot timpul.

cu ce te-a supărat? :))

2 Likes

Tx. Si eu am invatat dupa asta. Nu stiam daca mai este de actualitate

Asta era cam singura pe care o gaseam cand eram in liceu:

res_181f8681d3bf3412e787c0b7ec7d563a

1 Like

Daca e nevoie de bible la modul ăla, referințele de pe net sunt mai bune, eventual chiar standardul limbajului. Am avut și eu cartea aia la liceu, dar a fost destul de pointless. Nu era ce aveam nevoie. Cred că are și niște secțiuni de Windows systems programming care e o pedeapsa crunta pentru orice elev :slight_smile:

Dar random shot in the dark, cred că o carte de programare care să facă respectiva persoana interesata de software dev ca atare e mai buna pentru un elev de clasa a IX-a. O carte din seria “Learn $language the hard way” poate? Sau “Why’s poignant guide to Ruby”. Sau ceva mai nou de JavaScript.

Cărțile de “limbaj”, mai ales despre un limbaj uriaș și urat că C++ modern sunt opusul la asta (chiar daca școlile noastre insistă cu el).

1 Like

Profa mea de info era nebuna dupa el

Mi se pare contraproductiv trendul ăsta contra C/C++, toată lumea descurajează pe toată lumea să mai înveţe C/C++. E ca şi cum ai recomanda ca arhitecţii să nu mai înveţe cum se fac cărămizile deorece
găseşti cărămizi gata făcute la Dedeman. Şi după ce mor aia care fac cărămizi şi le vând la Dedeman ce se va întâmpla?

C/C++ sunt fundaţia lumii electronice de astăzi, cum ar fi ca în 20 de ani nimeni să nu mai ştie să repare şi să întreţină această fundaţie?

2 Likes

Apropo de asta: Povestea CEO-ului UiPath și cartea care l-a ajutat să își găsească primul job?

Ooookey. Nu greșești cu ce zici in linii mari, dar e o extrapolare destul de mare de la ce am zis eu la ce ai concluzionat tu :man_shrugging:

Reiterez, ca sa fie mai clar - nu recomand că un elev de clasa a IX-a sa se bage pe C++ - nici la nivel de cunoscut, daremite la nivel de “biblie”. E momentul să învețe “programming - the good parts” si sa devină pasionat de subiect. Are timp mai încolo sa sape și să învețe și măruntaiele și părțile nașpa și părțile periculoase. Nu eu fac programa de liceu, așa că rămân oamenii cu algoritmi și C++ :frowning:

Cred ca e bine de evitat idiomul “C/C++”. Sunt doua limbaje separate până la urmă și în versiunile mai noi de C și C++ nu mai exista nici măcar acea backwards compatibility - sunt programe C pe care un compilator C++ nu le accepta.

C sunt 100% de părere că trebuie cunoscut de orice programator. E latina domeniului nostru și o sa fie mult până când e înlocuit de altceva (deși Rust incepe sa facă niște avansuri considerabile). Când zici că C/C++ e de baza, 90% cred că te referi la C. C++ oricum nu a prea fost mult prin sisteme de operare, sau software-ul de sistem á la GNU. Acolo era C-ul de baza.

C++ on the other hand - stay away from that sh*t. Daca vrei sa lucrezi in “frontend” la jocuri, unele probleme din finance, unele sisteme embedded, unele sisteme legacy de prin FAANG-uri, etc atunci sigur, go for it și asuma-l ca un cost of doing business. Deși poți lucra bine-merci in aceste domenii și fără C++. Altfel e un limbaj urât (destul de verbose, separarea declarare/implementaree aiurea, digraphs&trigraphs (look it up, dar nu mă înjură după)) , cu multe design issues (templates, preprocessor, namespaces), multe lipsuri (module, sistem de pachete, sistem de build, librărie “standard” (hai poate boost prin zonă), excepții ca mecanism de flow control acceptat, etc). A mai evoluat ce-i drept - dar slabe șanse că să fie adoptate în codebase-urile mai vechi toate bunătățile noi. Dar aici mi se pare că ajungem la aceiași justificare că și pentru COBOL - not great in my book.

IDK, câteodată cred că e doar despre cat de “hardcore” zice lumea că e un limbaj, și nu despre cum e in sine, ce probleme te ajuta sa rezolvi, ce perspective îți deschide, etc :man_shrugging:

3 Likes

Eu zic ca nu exista motiv pentru a folosi o carte pentru C++. Iti trebuie doua monitoare: unul pe care deschizi referinta si un alt monitor pe care sa faci ceva curs/proiect de facultate si esti bun de invatat.

La noi in laborator aveam carti despre C/C++/Delphi/Pascal si stateau degeaba, profesorul il lua pe cel de Pascal daca a uitat ceva. In rest chiar si in carte era o pagina pe care scria ceva de genul “You can’t learn programming from this book”

In 99 cartile erau mult mai utile fiindca nu aveai internet, nu aveai doua monitoare la pret de nimic si aveai exemple foarte interesante direct in Turbo C++/Pascal.

3 Likes