Úvod
Vítejte. Právě jste se dostali k nejlepšímu výukovému kurzu o programování. Text je určen pro všechny, kteří již mají zkušenost s používáním počítače, a zajímají se o to, jak vznikají programy. Dozvíte se zde obecné informace o programování, naučíte se základy programovacího jazyka C a C++, vytvoříte pár jednoduchých aplikací a později se naučíte (pokud budete chtít) programovat v Linuxu.
Berte tento text jako jemný úvod do problematiky, nebudu se z vás snažit udělat experty. Po přečtení tohoto textu můžete na internetu najít spoustu dalších informací, ve kterých se již budete cítit jako ryba ve vodě (zvlášťe, pokud umíte dobře anglicky).
Proč právě C/C++
Existuje mnoho programovacích jazyků, nejen C a C++. Možná jste už slyšeli o Javě, C# (čti c šarp), Pythonu, Perlu, PHP a mnoha dalších. C a C++ patří k těm nejstarším, které se dnes široce používají. Jsou na naučení a používání těžší než většina ostatních, ale ostatní jazyky z nich přímo či nepřímo vycházejí, takže naučit se se znalostí C/C++ jiné jazyky už pro vás bude hračka. Mnohé osatní jazyky před programátorem skrývají důležité rysy programování. Snižují tak šanci na chybu progamátora, urychlují vývoj, ale za tu cenu, že programy jsou pomalejší a objemnější. Proto tyto programovací jazyky umožňují programátorům vytvářet svá vlastní rozšíření. A hádejte, v jakém jazyce?
V jazyce C je také napsáno mnoho důležitých aplikací, které umožňují vytvářet své rozšíření v jazyce C. Proto si myslím, že je důležité, abyste se naučili jazyk C (a nejen C++). C++ je něco jako „novější C“, takže když se naučíte C, v C++ se budete učit (téměř) jen to, co je nové. Určitě je lepší se nejdříve naučit C a později C++, než obráceně. Na druhou stranu, pokud si myslíte, že jazyk C využívat nikdy nebudete (třeba chcete psát jen nové programy), nemusíte se bát začít učit rovnou C++.
Nemusíte se ani bát naučit se rovnou nějkterý z „jednodušších“, modernějších jazyků, jako například Javu. To už závisí případ od případu, co je pro vás konkrétně nejlepší. Určitě v životě potkáte spoustu lidí, kteří vám budou tvrdit, že ten jejich programovací jazyk je ten nejlepší :). Každopádně, tento kurz vás provede programováním tak jednoduše a polopaticky, jakto jen jde :).
Co musíte vědět
Jistě jste již netrpěliví začít programovat. Nejdříve vám však položím několik otázek, na které byste měli odpovědět kladně, jinak nejste na programování dostatečně připraveni.
- Umíte číst, psát a počítat?
- Víte, co je to počítač?
- Víte, co je to soubor, adresář, adresářová struktura?
- Umíte psát na počítači, vytvářet a ukládat soubory?
- Víte, jaký je rozdíl mezi hardwarem a softwarem?
- Říkají vám něco přípony .txt, .exe, .com, .bat, nebo co to znamená spustitelný soubor?
- Víte, co je to harddisk, paměť RAM, procesor, grafická karta?
- Víte, co je to OS (Operační systém) a nepletete si jej s pojmem Windows?
- Víte, co je to Linux?
- Viděli jste film Matrix?
Na prvních 7 otázek musíte odpovědět ano, osmou otázku během výuky dovysvětlím, devátá je tu hlavně kvůli tomu, že se v textu budu věnovat (později výhradně) programování v Linuxu a pokud jste na 10. otázku odpověděli záporně, tak to rychle napravte :-).
Co se nenaučíte
Někdo je po seznámení s počítačem natolik okouzlen, že by chtěl hned umět všechny ty programy a aplikace vytvářet. Možná byste si také chtěli naprogramovat svůj OS jako Windows, nějaké ty office jako Word, Excel, nějakou tu hru, jako Quake atp. Bohužel, v tom vás zklamu. Tak rozsáhlé programy nemůže zvládnout jeden člověk, jedná se totiž o milióny řádek kódu a velice sofistikované matematické algoritmy. Zde se naučíte vytvářet jednoduché textové programy (tj. bez grafického rozhraní), které budou například sčítat dvě čísla, hledat řetězec v textovém souboru atp. V části věnované Linuxu se dostane i na nějaké ty grafické nadstavby. Pokud se jen s tímto nespokojíte, nevadí. Všechno totiž začíná tím, co se zde dozvíte a nic z toho, co se zde dozvíte, nebude pro vás zbytečné, i když chcete umět dělat profesionální aplikace. Počítejte jen s tím, že v takovém případě budete muset studiu věnovat několik let!
Na druhou stranu, i jako programátor jednotlivec můžete poměrně snadno vytvářet jednoduché hry, GUI aplikace (tj. aplikace s grafickým uživatelským rozhraním, např. ve Windows) nebo se spolupodílet na vývoji velkých projektů.
Mám i jednu dobrou zprávu na závěr, a to zejména pro uživatele Linuxu. Spousta programů je napsána v jazyce C a spousta jich je dodávána i se zdrojovými kódy (pod licencí GNU). Až se naučíte programovat v C, budete si je moci upravovat k obrazu svému, učit se z nich, nebo se podílet na jejich vývoji.
Co se naučíte
Úplně na začátku si objasníme některé pojmy, aby mezi námi nedocházelo k nedorozumění. Poté se dozvíte, jak program vzniká a co je k tomu třeba. Naučíte se základy programovacího jazyka C a později „jeho rozšířenou verzi“ jazyk C++. Nakonec se budu stručně věnovat programování pod Linuxem. Ostatně, to vás bude provázet celým výukovým textem. Samozřejmě se také naučíte programovat pod DOSem a dozvíte se něco o programování ve Windows. Myslím, že o tom „co bude“ toho již bylo řečeno dost, a tak není důvod proč se nevrhnout na věc. Příjemnou zábavu.