Dobrý programátor musí byť dostatočne lenivý

Usmiaty matematik vťahuje do sveta programovania ženy.

Láskavo, logicky, vtipne, zrozumiteľne. Napriek môjmu v detstve získanému odstupu a prehnanému rešpektu k matematike, sa to tomuto chlapíkovi podarilo.

Dobrý programátor musí byť dostatočne lenivý. Radšej rozmýšľa, ako pracuje. Skôr, ako začne húževnato ťukať kódy do klávesnice, strávi množstvo času s rukami za hlavou a nohami na stole, a premýsľa, ako nato.

Zbytočne usilovný programátor napíše niekoľko zbytočných strán kódu za niekoľko týždňov. Ten “kvalitne lenivý” napíše za pár hodín len niekoľko riadkov. Vo výsledku to bude fungovať rovnako.

Písať softvér je podobné, ako písať román. Nemusí byť dlhý. Stačí, keď je dobrý.

Touto poetikou nás prišpendlil ako o korkovú tabuľu prednáškou k téme “Beauty of computing and programming languages”.

Matematik, Michal Forišek.

Docent a učiteľ algoritmov na Fakulte matematiky, fyziky a informatiky. Medzinárodne uznávaný odborník na teoretickú informatiku a vzdelávanie. „Zažila som ho ako skvelého prednášajúceho v študovni plnej žien, ktoré sa zatiaľ živia niečim iným, ale svet programovania a technológií ich značne láka.“

foto: Michal Forišek, gratuluje absolventke Mini Tech MBA for women

Mišo, čo robíš? 

Keď nebehám po svete a nerobím zrovna niečo s talentovanými deckami, tak som v Bratislave na matfyze a  nejaké tie veci učím. Popri tom robím milión vecí o ktorých si myslím, že majú zmysel. Jednou z nich je aj lektorovanie v projekte Mini Tech MBA for Women.

Poďme nato od podlahy. Čo znamená pre „ajťáka“ IT?

Informatika je hľadanie nových spôsobov, ako robiť veci . IT sa nedá učiť ako napríklad dejepis, kde sa veci už stali a v tých učebniciach to tak nejako bude už stále platné.

V informatike sa veci menia tak rýchlo, že už v čase, keď sa ich učíte na vysokej škole, sú zastaralé.

Preto ani tento kurz nemá hlavný úmysel učiť nejaké konkrétne technológie. Môžem vás, rovnako ako to robím pre študentov na mat-fyze, naučiť dve hlavné veci:

Myslieť a rozumieť ako v princípe  technológie fungujú a  učiť sa neustále učiť. Nedá sa prestať a povedať si, že už to viem, a teraz som odborník. Všetci sa musíme učiť ďalej a sledovať, kam sa to ďalej vyvíja. A vyvíja sa to strašne rýchlo.

Keď som prišiel na výšku, každý večer stála na intrákoch fronta pred telefónnym automatom. V priebehu asi roka a pol to celé zmizlo, lebo zrazu prišli mobily. Teraz máte každý so sebou (vo svojom mobile) počítač, ktorý je výkonnejší, ako bolo celé vybavenie prvej misie na mesiac.

Celé učenie sa informatiky je učenie sa učiť sa.

Ako učíš programovať?

Programovanie je skladačka z dvoch častí. Jedna z nich sa deje v hlave –  potrebujete vymyslieť, čo by ste od toho počítača chceli. Tou druhou časťou je  – presvedčiť ten počítač, aby urobil to, čo ste vymysleli. A to musíme tomu počítaču napísať cez klávesnicu.

Nestačí  teda vedieť programovací jazyk,  vedieť sa rozprávať v jeho reči. Pred tým je potrebné vedieť to vymyslieť. Na to je užitočné algoritmické myslenie.

„Ja na to nemám bunky, ja tomu nerozumiem.“  S týmto sa asi stretávaš, že?

Algoritmické myslenie je kompetencia, schopnosť. Nemá zmysel hovoriť, že ja na to nemám bunky, nemám talent. Talent je len začiatok. Hovorí len o tom, ako rýchlo sa v niečom vieme zlepšovať, ako intuitívne veci chápeme. Ale ako pri všetkých iných veciach , hlavná je naša práca. Aj algoritmické myslenie je niečo, čo sa dá cvičiť.

foto: Mini Tech MBA for Women, programovanie v HubHub

Existuje nejaký súvis medzi talentom na jazyky a talentom na programovacie jazyky?

Myslím, že tam bude nejaký súvis. Jedno aj druhé je používanie jazyka. Štruktúry v hlave pri tom  fungujú podobne. Pozorujúc to na sebe, dobre a ľahko chytám slovíčka z cudzích jazykov. Keď som sa prvýkrát dostal do španielsky hovoriaceho sveta, po pár dňoch som si už objednával na raňajky od čašníčky konkrétny typ vajíčok:)

To slovo išlo okolo, tak som si ho zapamätal. Keď som videl niečo napísané, začal som rozmýšľať o analógiách. Mám lámanú francúzštinu a to slovo sa podobá, tak to asi bude znamenať to isté.

Veľmi podobne vyzerá aj práca s rôznymi programovacími jazykmi. Keď sa dostanem k práci s programom, v ktorom som ešte nerobil, tak mu zhruba rozumiem. Tie kľúčové slová a príkazy, ktoré sa podobne volajú mi budú dávať zmysel. Druhá dôležitá schopnosť je, že viem, čo a ako hľadať.

Keď už viete Španielsky a Taliansky, tak tá Francúzština vám už pôjde celkom ľahko. Niektoré slovíčka sú síce iné, ale ten spôsob, ako sa formujú vety,  sa podobá. Určite nebudete vedieť plynulo rozprávať, ale nejakou lámanou rečou sa dohodneme.

Podobné je to aj pri učení sa nových programovacích jazykov.

Čo robí matematik okrem matematiky?

Rád skáčem na trampolíne a sedím v kanojke, hlavne na splave. Splav je lepší od stojatej vody, lebo treba menej pádlovať :-).

Rád hrám discgolf, bedminton, volejbal (ktorý som mal tri roky ako telesnú na matfyze), ultimate (ktoré sa ako telesná v mojej mladosti nedalo mať), na flaute (som samouk a navyše v poslednej dobe mi na to nejak nevychádza čas, ale hrám rád) a trochu na gitare.

Ak sa bojíte len matematiky….

Ak vás profesionálny svet v IT priťahuje, ale stále máte pred sebou strašiaka menom MATEMATIKA, Michal Forišek je skvelý prostriedok na odbúranie strachu.

Mini Tech MBA má otvorený zápis na nový jesenný semester. 3,5 mesačný vzdelávací program sme zvládli- niektoré popri práci a iné popri materskej dovolenke.

Program je určený pre ženy, ktoré chcú kariérne rásť, naučiť sa nové digitálne zručnosti, alebo premýšľajú ako posunúť svoju kariéru  viac smerom k technológiam.

Článok bol prevzatý z portálu rodinka.sk.