Proč začít programovat?
Programování jako dovednost přináší praktické benefity:
- Vysoká poptávka - nedostatek programátorů v ČR i globálně
- Dobré platy - junior 40-60k Kč/měsíc, senior 80-150k+
- Práce z domova - většina firem nabízí remote/hybrid
- Tvořivost - vytváříte věci z ničeho
- Automatizace - ušetříte si hodiny nudné práce
- Pochopení technologií - rozumíte světu kolem sebe lépe
Nepotřebujete být génius. Programování je 90% google, 5% trpělivost, 5% logika. Pokud umíte číst, psát a nenecháte se odradit prvními chybami, naučíte se to.
První kroky k programování
Co chcete tvořit? Weby, mobilní aplikace, hry, data science, automatizaci? To určí, jaký jazyk se učit. Začněte s tím, co vás opravdu zajímá.
Ne tři najednou. Jeden. První 6 měsíců se soustřeďte jen na něj. Ostatní jazyky jsou pak snadnější.
Minimálně 30 minut. Lepší každý den po půl hodině než jednou týdně 3 hodiny. Programování je dovednost, která vyžaduje pravidelnost.
Co se může pokazit (a je to normální)
Začátek s programováním je frustrující. Tady je realita:
První týden
- Nic nechápete - proměnné, funkce, cykly? Jako cizí jazyk. Normální.
- Každý řádek má chybu - zapomenuté středníky, překlepy, špatné závorky. Běžné.
- Programuje 2 hodiny, funguje 2 minuty - nízké ROI času zpočátku.
- Chybové hlášky jsou nesrozumitelné - "NullPointerException" - co to sakra je?
První měsíc
- Kopírujete kód a nefunguje - tutoriály někdy lžou nebo jsou zastaralé.
- Hledáte chybu 2 hodiny, je to překlep - "cout" vs "Cout". Maddening.
- Tutorial hell - sledujete 100 tutoriálů, sami nic nevytvoříte.
- Imposter syndrome - "všichni jsou lepší, já to nikdy nezvládnu."
První 3 měsíce: frustrující, pomalý pokrok, hodně googlu. Po 6 měsících: začínáte rozumět, co děláte. Po roce: vytváříte vlastní projekty. Po 2 letech: hledáte junior pozici. Není to rychlé, ale dosažitelné.
Výběr prvního jazyka
Python (doporučeno pro většinu)
Pro koho: Začátečníci, data science, automatizace, weby (backend)
Proč je dobrý na start: Jednoduchá syntaxe, čitelný, hodně materiálů, široké použití
Co s ním uděláte: Skripty, web scraping, analýza dat, backend, AI/ML
První práce: Junior Python developer, data analyst
JavaScript
Pro koho: Tvorba webů (frontend i backend), interaktivní stránky
Proč je dobrý: Jediný jazyk který běží v prohlížeči, obrovská poptávka, moderní
Co s ním uděláte: Webové aplikace, mobilní aplikace (React Native), servery (Node.js)
První práce: Junior frontend/fullstack developer
Java
Pro koho: Enterprise aplikace, Android, chcete strukturu a disciplínu
Proč je dobrý: Vyučuje dobré návyky, hodně pracovních pozic, stabilní
Co s ním uděláte: Bankovní systémy, velké aplikace, Android
První práce: Junior Java developer
VYHNĚTE SE (první rok)
- C/C++ - složité, manuální správa paměti, frustrující pro začátečníky
- Assembler - low-level, nerelevantní pro začátečníky
- Exotické jazyky - Haskell, Rust (krásné, ale strmá křivka učení)
Jakmile zvládnete jeden jazyk, další se učí mnohem rychleji. Nebojte se "špatné volby". Python dnes, JavaScript za rok, Java za dva - normální kariérová cesta.
Vývojové prostředí
Pro Python
- Editor: VS Code (zdarma, nejpopulárnější)
- Instalace: python.org → stáhnout → nainstalovat
- První řádek:
print("Hello World")
Pro JavaScript
- Editor: VS Code
- Instalace: nodejs.org → stáhnout → nainstalovat
- První řádek:
console.log("Hello World") - HTML soubor: Otevřete přímo v prohlížeči
Nástroje které potřebujete
- Počítač (jakýkoli, nemusí být výkonný)
- Textový editor (VS Code)
- Prohlížeč (Chrome/Firefox)
- Google (vážně, 90% práce programátora)
Nástroje které NEPOTŘEBUJETE
- Drahý počítač (starší laptop stačí)
- Více monitorů (nice to have, ne nutnost)
- Placené kurzy/nástroje (vše je zdarma online)
Základní koncepty programování
1. Proměnné (Variables)
Místo kde ukládáte data:
- Python:
jmeno = "Jan" - JavaScript:
let jmeno = "Jan";
2. Podmínky (If/Else)
Rozhodování v kódu:
- KDYŽ věk > 18 PAK "dospělý" JINAK "dítě"
3. Cykly (Loops)
Opakování kódu:
- Vytiskni čísla od 1 do 10
- Projdi všechny položky v seznamu
4. Funkce (Functions)
Pojmenovaný blok kódu, který můžete používat opakovaně:
- Funkce "secti" vezme dvě čísla a vrátí součet
- Použijete ji:
vysledek = secti(5, 3)
5. Seznamy/Pole (Arrays/Lists)
Kolekce více hodnot:
- Python:
ovoce = ["jablko", "hruška", "banán"] - JavaScript:
let ovoce = ["jablko", "hruška", "banán"];
Tyto 5 konceptů tvoří 80% toho, co budete používat. Zvládněte je na 100% než půjdete dál. Všechno ostatní (objekty, třídy, moduly) staví na těchto základech.
První projekty (od nejjednodušších)
Týden 1: Hello World a kalkulačka
- Vypište "Hello World"
- Kalkulačka co sečte dvě čísla
- Kalkulačka se všemi operacemi (+, -, *, /)
Týden 2-3: Hádání čísla
- Počítač si myslí číslo 1-100
- Uživatel hádá
- Program řekne "vyšší" nebo "nižší"
- Počítá pokusy
Týden 4-6: To-Do list
- Přidat úkol
- Zobrazit všechny úkoly
- Označit úkol jako hotový
- Smazat úkol
Měsíc 2-3: Větší projekty
- Jednoduchý web (HTML + CSS + JavaScript)
- Scraper co stahuje data z webu (Python)
- Terminálová hra (had, piškvorky)
- Automatizační skript (přejmenování souborů, organizace)
Jak se učit efektivně
Metodika 70-20-10
- 70% - Vlastní projekty: Tvořte, ne jen sledujte tutoriály
- 20% - Čtení kódu jiných: GitHub, open source projekty
- 10% - Tutoriály: Ano, jen 10%. Zbytek je praxe.
Zdroje (všechno zdarma)
- Oficiální dokumentace: Každý jazyk má dokumentaci na svém webu (např. Python, JavaScript)
- Online kurzy a tutoriály: Mnoho platforem nabízí zdarma kurzy pro začátečníky
- Komunity: Online fóra pro řešení problémů a hledání odpovědí
- YouTube: Hledejte "[jazyk] for beginners", "[jazyk] tutorial"
Překonání Tutorial Hell
Pochopte koncept, který tutoriál učí.
Opravdu. Žádné kopírování řádek po řádku.
Použijte ten koncept, ale v jiném projektu. Vlastními slovy.
Časté chyby začátečníků
- Učit se více jazyků najednou: Python a JavaScript a Java? Ne. Jeden.
- Tutorial hell: 50 kurzů, 0 vlastních projektů. Neúčinné.
- Perfekcionismus: "Musí to být dokonalé." Ne, musí to fungovat. Clean code přijde později.
- Nejít pomalu: Přeskakovat základy a jít na frameworky. Špatný nápad.
- Nepoužívat Google: Snažit se vymyslet všechno sami. Google je kamarád.
- Vzdát se po prvním zablokování: Každý programátor je 50% času zablokovaný. Normální.
- Nesahat na projekty nad úroveň: Buď moc snadné (nuda) nebo moc těžké (frustrace). Hledejte střed.
Bootcampy za 100 000 Kč slibují práci za 3 měsíce. Realita: můžete se naučit stejně zdarma za 6-12 měsíců. Bootcamp může urychlit, ale není nutnost. Většina úspěšných programátorů je self-taught.
Nevzdávejte se sami. Programátorské komunity (Reddit r/learnprogramming, Stack Overflow, Discord servery) jsou ochotné pomoct. Ptejte se chytře: popište problém, co jste zkoušeli, vložte kód. Dostanete odpověď.