Nejlíp se člověk naučí programovat, když to učí ostatní.
Obecně opakování dělá mistra.
Re:Jak se naučit programovat?
A) Chce to začít s něčím, co má budoucnost, obecně vidím budoucnost v jazycích typu C#/Java, čím přísnější jazyk je, tím lepší pro začátečníka (JavaScript/PHPlike fujky fujky). Cčko tě nutí dělat voloviny s pamětí, což zbytečně odvádí od problému samotného.
Java (která je mrtvá) je krásná a čistá, není krásnějšího jazyka než Java! C# se vyvíjí, ale začíná byt poněkud zprasený a pořád se přidávají nové funkce, které z toho dělají pěkně složitou obludu. Někdy je méně více.
B) Je lepší vědět, co chci dělat, tedy jestli programovat pro web nebo pro mobil / desktop, zní to blbě, ale pokud se člověk neučí produktivně, výsledek není produktivní. A chce to znát knihovny, což někdy znamená rozdíl 3/4 práce, tj. neznáš knihovnu=děláš to blbě 4 hodiny, znáš knihovnu = děláš to 1 dobře. Myslíte si, že i když knihovnu neznáte, že to můžete udělat dobře? Blbost, možná na vašem malém hello_vole.php, jak na projektu dělá řada lidí, je extrémně problematické když někdo používá knihovní funkce a druhý si píše knihovnu vlastní ze všech hledisek.
C) Je lepší začít programovat od začátku pod dohledem někoho dobrého, mít vedení zkušeného člověka, protože při samodomo-prasení si bohužel člověk zažije řadu zlozvyků (čti prasáren), kterých se pak jen velmi těžko zbavuje. Tady budu zase kritizovat naše školství, protože i když se u nás na VŠ učí programování, neučí se tam programovat, protože většina těch uživatelů zná řekněme slova, ale nezná stavbu věty. Tj. většina těch magorů ti řekne, že co je prefix a co je sufix, ale už ti neřeknou, že takhle se to dělat nemá. Někteří mají to štěstí, že se alespoň dozví co je getter/setter.
D) Chce to se učit čtením cizích programů, nejlépe od mistrů. Bohužel to chce vědět, jak vypadají návrhové vzory, chce to vědět jak to je správně a jak je to špatně. Chce to zkušenosti a cit. Umělci se také učí od ostatních umělců. Stejně tak to chce mít chuť dělat věci perfektně, přemýšlet o kódu co píšeš a zkoumat ho od shora dolů, tím se vytváří umělecké dílo. Genialita je v jednoduchosti, čím jednodušší a čistší kód, tím lepší. Plus to chce přidávat komentáře, ale obecně je nejlepší, pokud komentář není potřeba, protože vše je jasné z názvu funkce! private int _SectiDveInt(int a, int b){return a+b;}
Chce to klid, klídeček, mít dobrou náladu, nestresovat se, nenechat se hnát do termínů a psát krásný kód. Všechno si promysli a klidně než začneš psát samotný kód funkce, napiš si pro to unit testy.
Jsou tři druhy programátorů:
A) Umělci, ZEN programátoři, kteří používají hlavu, kteří píší umění.
B) Kodéři, něco jako pisálci z webů jako novinkykyky nebo ivčera.
C) Čuňata, jejich hlavní zbraní je CtrlC+CtrlV.
Pamatujte si, že když začnete programovat bez vhodného vedení, jen bůh Vás ochrání před tím, spadnout do kategorie C.
Bohužel řada zaměstnavatelů v zásadě chce programátory typu A, vyžaduje po nich alespoň výsledek typu B, ale podmínky jim vytváří typu C.