Hlavně proboha nezačínej s C++ . Naopak časem (až budeš umět základy) můžeš přidat trochu C.
Můj vývoj: v osmdesátých letech jsem zahlédl tu a tam útržky 8080/Z80 ASM na papíře. První vlastní PC v roce 1992, do té doby jsem měl páječku. Na PC začátky basic, pascal - z obojího rozpačité pocity (v tehdejší době špatná dokumentace, nebyl internet). Ve škole mi půjčili jednu knížku = referenční příručku k Turbo Assembleru (Borland, x86, syntaxe Intel) - to bylo zajímavé čtení, ale nekompletní, napsat podle toho něco se moc nedalo. V knihovně jsem začátkem devadesátek narazil na český překlad (?) Kernighan+Ritchie C - to byla poezie. Konečně nějaký jazyk dobře vysvětlený a relativně úsporný. Ale v té době jsem se nedostal k překladači. To až později, patrně na vejšce... (1995 nebo tak nějak). Pořád jenom Borland, ale oproti Pascalu labůžo. Konečně jazyk, který z člověka nedělal blbečka, měl kompletní sadu operátorů pro bit-banging, bohatou sadu datových typů blízkých "stroji". Pro mne bylo Céčko od té chvíle "jazyk, podle kterého se Pascal opičí a stydí se za to" - a na vejšce byly první povinné kurzy algoritmizace v čem? V pascalu :-( Teprve když jsem se dostal ke konci 90.let k Linuxu, pohltilo mě céčko doopravdy - v podobě "GNU ekosystému". Spousta examplů a další dokumentace. Objevil jsem celý svět s poměrně dlouhou historií, která vedla třicet let zpátky někam do Bell Labs... žůžo. C++ jako nadstavba céčka... jo, to se dalo pochopit a uchopit. Takže už ne gcc ale g++. A knížky kolem toho. Konečně v GNU světě jsem začal ostře rozlišovat C od C++ tzn. která z těch dvaceti různých funkcí, jak poslat znak či řetězec na standardní výstup, je ještě céčko, a která už je C++. (Protože Borlandí IDE podporovalo C i C++ a moc mezi tím nerozlišovalo.) Zrovna v tu chvíli mi v práci začla přicházet i smysluplně velká zadání, přestože "do šuplíku" / mimo popis práce. Objektové přístupy začaly dávat smysl. Ve škole základní věci v rovině algoritmizace - datové struktury, jak to jde dohromady s alokací paměti apod.
Od té doby když vidím cokoli závorkovatého odvozeného od C, tak se zhruba orientuji, ale pokaždé si říkám "nojo, tohle je wrapper okolo libc, a není moc povedený ani kompletní" nebo "aha, takže integer, ale délku a znaménko řešit nemám" nebo "jasně, máme garbage collector, takže po sobě neuklízíme a jsme na to pyšní" apod. Ale že by mě něco chytlo u srdíčka víc, než C/C++, jakožto programovací jazyk, tak to ani náhodou.
Potkal jsem v pozdějším věku i Pascal na holém železe, v jedné takové retro-údržbě, a s dnešní dokumentací jsem se dozvěděl o spoustě syntaxe, kterou v základních učebnicích Pascalu nenajdete, přestože ji Borland podporoval zřejmě už dávno - a která doplňuje právě ty věci, kterými se Céčko nijak netají a nikdy netajilo. Přesto ani v tomto kompletnějším skupenství mě Pascal za srdíčko nechytil. A pokud se týče Pythonu... pohyblivý cíl, neúplné wrappery okolo céčkových knihoven a syscallů, garbage collection, bloatware, instalační systém stižený vleklou revolucí... nic pro mě :-)
Ale já jsem "jinej". Jednak jakožto programátor věčnej hobbík, jednak jsem byl asi povahou systémák ještě než jsem si poprvé šáhnul na klávesnici.
Vybírejte si nástroje podle zadání, které dostanete - resp. podle hobby námětu, který Vás oslovil svou šťavnatostí.
Nebojte se číst, nebojte se experimentovat. Nebojte se debatovat! :-) Když čtete, nebojte se překakovat věci, které zatím nechápete, nebo nepotřebujete. Případně knihu odložit v půlce, pokud je jedněch nebo druhých věcí náhle většina. Dost možná je vinou autora, že zábava náhle uvadá - nebo se Vám prostě další kapitoly už nestrefily do vkusu.
A souhlasím s Jendou, že je blbost začínat ausgerechnet C++, dokud člověk nezná céčko. Tzn. pořídit si knihu, která začne hezky zostra rovnou vychytávkami C++ (a jaksi samozřejmě předpokládá, že člověk je Céčkem už načichlý). V takové situaci bych asi taky reagoval "WTF". Mimochodem starší kniha Thinking in C++ od Bruce Eckela tuším začíná pár kapitolami o Céčkových základech. Tu bych si jako první čtení dokázal i představit...